`

XML节点当做文本处理

 
阅读更多

XmlHelper类中封装的方法,采用JDOM实现。

 

如下所示:

   /**
     * 输出XML文件流。根据指定的编码,将输入的节点,输出到输出流中。
     * @param xml XML文件流
     * @return xml JDOM树的根节点,如果XML格式错误,返回空(null)
     * @throws JDOMException
     */
    public static void output(Writer writer, Element root, String encoding) {
        encoding = (encoding == null ? UTF8 : encoding);
        Document doc = new Document(root);
        XMLOutputter outputter = new XMLOutputter();
        Format format = Format.getPrettyFormat();
        format.setEncoding(encoding);
        outputter.setFormat(format);
        try {
            writer.write(outputter.outputString(doc));
        } catch (IOException e) {
            throw new SystemException(String.format("输出节点[%s]时出现错误。", root.toString()));
        } finally {
            try {
                writer.close();
            } catch (IOException e) {
                logger.warn("关闭输出流时出现错误。", e);
            }
        }
    }

  

   //将节点数据提取成Text字符串返回

   public static String getElementText(Element element){
        if (element != null) {
            Element tempElement = (Element) element.clone();

            StringWriter sw = new StringWriter();
            XmlHelper.output(sw, tempElement, null);
            String s = sw.toString();
        }
        return null;
    }

 

/**
     * 传入XML字符串,返回XML的根节点。
     * @param xml XML字符串
     * @return xml JDOM树的根节点,如果XML格式错误,返回空(null)
     * @throws JDOMException
     * @throws IOException
     */
    public static Element getRootFromString(String xml) throws JDOMException,
            IOException {
        if (xml == null) {
            return null;
        }
        LogWriter.debug(logger, "XmlHelper getRootFromString xml=" + xml);
        Document doc = null;
        SAXBuilder builder = new SAXBuilder(); //解析器
        doc = builder.build(new StringReader(xml));
        if (doc != null) {
            return doc.getRootElement();
        }
        return null;
    }

 

调用示例:

        String styleText= XmlHelper.getElementText(element);

 

        Element root = XmlHelper.getRootFromString(styleText);

分享到:
评论

相关推荐

    Java使用正则表达式提取XML节点内容的方法示例

    Java使用正则表达式提取XML节点内容的方法示例 Java使用正则表达式提取XML节点内容的方法示例主要介绍了Java使用正则表达式提取XML节点内容的方法,结合具体实例形式分析了java针对xml格式字符串的正则匹配相关操作...

    C#读取XML 的节点,以及属性

    C#作为.NET框架的主要编程语言,提供了丰富的API来处理XML文档,包括读取、写入、修改XML的节点和属性。本篇文章将深入探讨如何在C#中操作XML文件,尤其是读取XML节点和属性。 首先,我们来了解基本的XML结构。XML...

    读写xml所有节点个人小结和读取xml节点的数据总结

    本篇文章将详细解释如何使用C#来读取XML文件中的所有节点以及如何在特定节点下增加或删除元素。 #### 二、读取XML节点数据 **1. 加载XML文档** 要开始读取XML文件,首先需要加载文件到`XmlDocument`对象中: ```...

    修改xml节点的值修改xml节点的值

    节点则包括元素节点、属性节点、文本节点等,节点值是指元素或属性的文本内容。 在Java中,我们可以使用DOM(Document Object Model)或者SAX(Simple API for XML)解析XML文件。DOM将整个XML文件加载到内存中,...

    XML节点的操作

    DOM将XML文档视为树形结构,其中每个节点都是一个DOM对象,可以表示为一个XML元素、属性或文本等。通过DOM,开发人员可以动态地更改XML文档的内容、结构和样式。 #### 二、Java中的DOM操作 Java提供了一套强大的API...

    易语言读入xml数据节点值

    3. **获取节点值**:一旦找到目标节点,我们就可以通过“XML元素->获取文本”函数获取该节点的文本值。这个函数会返回节点中包含的所有文本,不包括子节点的内容。 4. **处理节点属性**:如果节点有属性,可以使用...

    解决XML节点删除后会留下一个空节点的问题

    XML节点是XML文档的基本构建块,包括元素、属性、文本、注释、处理指令等。在删除XML节点时,我们的目标是彻底移除它,不留下任何痕迹。 问题的关键在于,许多XML解析器和库在处理节点删除时,可能不会立即从DOM...

    delphi解析xml属性节点

    在Delphi编程环境中,XML(eXtensible Markup Language)是一种常用的数据交换格式,用于存储和...在实际项目中,你可能还需要根据需求进行更复杂的XML处理,如XPath查询或XSLT转换,但这已经超出了当前话题的范围。

    QT对XML增删查改读取,节点自定义,键值自定义

    总的来说,QT为XML处理提供了强大的支持,通过QDomDocument和相关类,我们可以灵活地操作XML文档,实现自定义的节点和键值对。这在处理结构化数据和配置文件时非常有用,尤其是在需要跨平台的项目中。只要熟练掌握...

    对于xml节点的详细操作

    例如,`XMLNodeType.Element`表示这是一个元素节点,而`XMLNodeType.Text`表示这是一个文本节点。 - **读取节点名称**:通过`Name`属性可以获取当前节点的名称。例如,如果当前节点是`<city>Chongqing</city>`,...

    得到XML节点的属性和文字

    当我们处理XML文档时,有时需要获取特定节点的属性和文本内容。本文将深入探讨如何在不同的编程环境中获取XML节点的属性和文字。 在Python中,我们可以使用`xml.etree.ElementTree`库来解析和操作XML。首先,我们...

    XmlDocument 节点遍历C#

    首先,我们需要了解XML文档的基本结构,XML文档由元素(Element)、属性(Attribute)、文本(Text)等节点组成。`XmlDocument`类提供了一种树形结构的方式来表示这些节点。以下是一段示例XML文档: ```xml ...

    Linq to xml,读取XMl节点值

    XML 文档由元素、属性、文本和注释等组成,其中元素是最基本的构建块,用于表示数据。 2. **LINQ to XML 简介** LINQ to XML 提供了 C# 和 Visual Basic 中的一组类,这些类允许开发者以声明性方式处理 XML。与...

    Qt5 XML文件的解析,增删改查节点。

    Qt5是一个强大的跨平台应用程序开发框架,它提供了丰富的API来支持XML处理,包括解析、创建、修改和查询XML文档。本篇文章将深入探讨Qt5如何使用DOM(Document Object Model)模型来操作XML文件,实现增、删、改、查...

    .net中XML节点内容插入、删除、修改

    在.NET框架中,对XML文档进行操作是一种常见的需求,特别是在数据交换、配置管理或文档处理等场景下。本文将深入探讨如何在.NET中对XML节点进行插入、删除和修改的操作,这将帮助开发者更好地理解和掌握XML文档的...

    C#动态加载XML文件,并更改节点属性值

    在C#编程中,动态加载XML文件并修改节点属性值是一项常见的任务,特别是在处理配置文件、数据存储或与XML相关的应用程序交互时。本教程将深入探讨如何实现这一目标,包括XML文档的加载、查找特定节点、修改属性以及...

    C# xml多个同名节点操作

    方便对xml中任意节(多个同名节点)点属性进行获取、设置。 /// /// 设置指定节点的属性 /// /// <param name="xmlContent">xml结构 /// 父节点 /// 父节点所处同名节点的位置 为0表明只有一个该节点 /// ...

    PB解析xml指定路径的节点内容

    XPath是W3C标准,提供了访问XML文档的强大方式,包括选择节点、属性和文本。 在PowerBuilder中,我们可以使用XML对象来操作XML文件。这个例子中,开发者创建了一个通用的函数或过程,能够接收一个XPath表达式作为...

    vb读取xml文件节点值操作实例

    在实际应用中,通常会使用微软提供的XML库,如MSXML或.NET Framework中的System.Xml命名空间,这些库提供了更强大、更安全的XML处理功能。例如,`System.Xml.XmlDocument`类可以方便地解析和操作XML文档,而无需手动...

    xpath读取XML节点

    XPath是XML文档中查找信息的语言,它允许我们高效地定位到XML文档中的特定节点,如元素、属性或文本。在Java编程中,JDOM库是一个流行的解析和操作XML的工具,它提供了对XPath的支持,使得我们可以方便地通过XPath...

Global site tag (gtag.js) - Google Analytics