Java操作XML工具类XmlUtil详解
一、概述
XML(Extensible Markup Language)是一种可扩展标记语言,用于存储和传输数据。在 Java 开发中,经常会有需要解析和生成 XML 的需求。针对这一需求,Java 提供了一些标准的 API,例如 JAXP 和 DOM 等。同时,也有一些开源的第三方库可以使用,例如 JDom 和 XmlBeans 等。但这些方式都有一定的局限性,而第三方类库常常会引入不必要的依赖,增加了程序的复杂性和维护难度。
本文介绍一款通用的 Java 操作 XML 的工具类 XmlUtil。其具有良好的封装性,易于使用,不依赖第三方库,支持 XML 的读取、修改、生成等多种功能,适用于 Java 5 及以上版本。
二、XmlUtil 类方法详解
1. 读取 XML 文件
public static Document read(File xmlFile) throws Exception
读取指定的 XML 文件,返回 DOM 文档对象。
参数说明:
xmlFile
:要读取的 XML 文件。
返回值:
包含 XML 内容的 DOM 文档对象。
示例代码:
File xmlFile = new File("example.xml");
Document doc = XmlUtil.read(xmlFile);
2. 读取 XML 字符串
public static Document read(String xmlString) throws Exception
读取指定的 XML 字符串,返回 DOM 文档对象。
参数说明:
xmlString
:要读取的 XML 字符串。
返回值:
包含 XML 内容的 DOM 文档对象。
示例代码:
String xmlString = "<root><name>小明</name><age>18</age></root>";
Document doc = XmlUtil.read(xmlString);
3. 将 DOM 对象写入 XML 文件
public static void write(Document doc, File xmlFile) throws Exception
将 DOM 文档对象写入指定的 XML 文件中。
参数说明:
doc
:DOM 文档对象。xmlFile
:要写入的 XML 文件。
示例代码:
Document doc = XmlUtil.read(new File("example.xml"));
XmlUtil.write(doc, new File("newExample.xml"));
4. 将 DOM 对象转成 XML 字符串
public static String write(Document doc) throws Exception
将 DOM 文档对象转成 XML 字符串。
参数说明:
doc
:DOM 文档对象。
返回值:
包含 XML 内容的字符串。
示例代码:
Document doc = XmlUtil.read(new File("example.xml"));
String xmlString = XmlUtil.write(doc);
System.out.println(xmlString);
三、示例说明
1. 读取 XML 文件,获取节点值
XML 文件 example.xml 内容:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<name>小明</name>
<age>18</age>
<gender>male</gender>
</root>
代码实现:
Document doc = XmlUtil.read(new File("example.xml")); // 读取 XML 文件
Element root = doc.getDocumentElement(); // 获取根节点
String name = root.getElementsByTagName("name").item(0).getTextContent(); // 获取 name 节点的值
System.out.println(name); // 输出:小明
2. 修改 XML 文件节点值并保存
XML 文件 example.xml 内容:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<name>小明</name>
<age>18</age>
<gender>male</gender>
</root>
代码实现:
Document doc = XmlUtil.read(new File("example.xml")); // 读取 XML 文件
Element root = doc.getDocumentElement(); // 获取根节点
Node genderNode = root.getElementsByTagName("gender").item(0); // 获取 gender 节点
genderNode.setTextContent("female"); // 修改节点值
XmlUtil.write(doc, new File("newExample.xml")); // 保存修改后的 XML 文件
XML 文件 newExample.xml 内容:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<name>小明</name>
<age>18</age>
<gender>female</gender>
</root>
经过以上示例的演示,我们可以看到,使用 XmlUtil 可以方便地读取、修改、生成 XML 文件,同时代码也不依赖第三方库,可维护性和可重用性都是很高的。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java操作XML工具类XmlUtil详解 - Python技术站