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格式字符串的正则匹配相关操作...
C#作为.NET框架的主要编程语言,提供了丰富的API来处理XML文档,包括读取、写入、修改XML的节点和属性。本篇文章将深入探讨如何在C#中操作XML文件,尤其是读取XML节点和属性。 首先,我们来了解基本的XML结构。XML...
本篇文章将详细解释如何使用C#来读取XML文件中的所有节点以及如何在特定节点下增加或删除元素。 #### 二、读取XML节点数据 **1. 加载XML文档** 要开始读取XML文件,首先需要加载文件到`XmlDocument`对象中: ```...
节点则包括元素节点、属性节点、文本节点等,节点值是指元素或属性的文本内容。 在Java中,我们可以使用DOM(Document Object Model)或者SAX(Simple API for XML)解析XML文件。DOM将整个XML文件加载到内存中,...
DOM将XML文档视为树形结构,其中每个节点都是一个DOM对象,可以表示为一个XML元素、属性或文本等。通过DOM,开发人员可以动态地更改XML文档的内容、结构和样式。 #### 二、Java中的DOM操作 Java提供了一套强大的API...
3. **获取节点值**:一旦找到目标节点,我们就可以通过“XML元素->获取文本”函数获取该节点的文本值。这个函数会返回节点中包含的所有文本,不包括子节点的内容。 4. **处理节点属性**:如果节点有属性,可以使用...
XML节点是XML文档的基本构建块,包括元素、属性、文本、注释、处理指令等。在删除XML节点时,我们的目标是彻底移除它,不留下任何痕迹。 问题的关键在于,许多XML解析器和库在处理节点删除时,可能不会立即从DOM...
在Delphi编程环境中,XML(eXtensible Markup Language)是一种常用的数据交换格式,用于存储和...在实际项目中,你可能还需要根据需求进行更复杂的XML处理,如XPath查询或XSLT转换,但这已经超出了当前话题的范围。
总的来说,QT为XML处理提供了强大的支持,通过QDomDocument和相关类,我们可以灵活地操作XML文档,实现自定义的节点和键值对。这在处理结构化数据和配置文件时非常有用,尤其是在需要跨平台的项目中。只要熟练掌握...
例如,`XMLNodeType.Element`表示这是一个元素节点,而`XMLNodeType.Text`表示这是一个文本节点。 - **读取节点名称**:通过`Name`属性可以获取当前节点的名称。例如,如果当前节点是`<city>Chongqing</city>`,...
当我们处理XML文档时,有时需要获取特定节点的属性和文本内容。本文将深入探讨如何在不同的编程环境中获取XML节点的属性和文字。 在Python中,我们可以使用`xml.etree.ElementTree`库来解析和操作XML。首先,我们...
首先,我们需要了解XML文档的基本结构,XML文档由元素(Element)、属性(Attribute)、文本(Text)等节点组成。`XmlDocument`类提供了一种树形结构的方式来表示这些节点。以下是一段示例XML文档: ```xml ...
XML 文档由元素、属性、文本和注释等组成,其中元素是最基本的构建块,用于表示数据。 2. **LINQ to XML 简介** LINQ to XML 提供了 C# 和 Visual Basic 中的一组类,这些类允许开发者以声明性方式处理 XML。与...
Qt5是一个强大的跨平台应用程序开发框架,它提供了丰富的API来支持XML处理,包括解析、创建、修改和查询XML文档。本篇文章将深入探讨Qt5如何使用DOM(Document Object Model)模型来操作XML文件,实现增、删、改、查...
在.NET框架中,对XML文档进行操作是一种常见的需求,特别是在数据交换、配置管理或文档处理等场景下。本文将深入探讨如何在.NET中对XML节点进行插入、删除和修改的操作,这将帮助开发者更好地理解和掌握XML文档的...
在C#编程中,动态加载XML文件并修改节点属性值是一项常见的任务,特别是在处理配置文件、数据存储或与XML相关的应用程序交互时。本教程将深入探讨如何实现这一目标,包括XML文档的加载、查找特定节点、修改属性以及...
方便对xml中任意节(多个同名节点)点属性进行获取、设置。 /// /// 设置指定节点的属性 /// /// <param name="xmlContent">xml结构 /// 父节点 /// 父节点所处同名节点的位置 为0表明只有一个该节点 /// ...
XPath是W3C标准,提供了访问XML文档的强大方式,包括选择节点、属性和文本。 在PowerBuilder中,我们可以使用XML对象来操作XML文件。这个例子中,开发者创建了一个通用的函数或过程,能够接收一个XPath表达式作为...
在实际应用中,通常会使用微软提供的XML库,如MSXML或.NET Framework中的System.Xml命名空间,这些库提供了更强大、更安全的XML处理功能。例如,`System.Xml.XmlDocument`类可以方便地解析和操作XML文档,而无需手动...
XPath是XML文档中查找信息的语言,它允许我们高效地定位到XML文档中的特定节点,如元素、属性或文本。在Java编程中,JDOM库是一个流行的解析和操作XML的工具,它提供了对XPath的支持,使得我们可以方便地通过XPath...