Java dom4j解析XML文件代码实例分享
本文将介绍如何使用dom4j库解析XML文件,并提供两个示例,一个用于解析XML文档的结构,另一个用于解析XML文件的内容。
准备工作
首先,需要在项目中添加dom4j库的依赖,可以使用Maven或手动添加jar包的方式。
<dependency>
<groupId>dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>1.6.1</version>
</dependency>
解析XML文档结构
下面是一个用于解析XML文件结构的示例代码。假设有一个名为“example.xml”的XML文件,其内容如下:
<root>
<element1/>
<element2>
<subelement1/>
<subelement2/>
</element2>
</root>
我们可以使用dom4j库解析该文件,并输出其结构。
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class XmlParser {
public static void main(String[] args) throws DocumentException {
SAXReader reader = new SAXReader();
Document document = reader.read("example.xml");
Element root = document.getRootElement();
printElements(root, 0);
}
private static void printElements(Element element, int depth) {
String indent = "";
for (int i = 0; i < depth; i++) {
indent += " ";
}
System.out.println(indent + element.getName());
for (Element child : element.elements()) {
printElements(child, depth + 1);
}
}
}
运行该代码后,将会输出以下内容:
root
element1
element2
subelement1
subelement2
我们可以看到,输出结果符合原始XML文件的结构。
解析XML文件内容
下面是一个用于解析XML文件内容的示例代码。假设有一个名为“example.xml”的XML文件,其内容如下:
<root>
<book>
<title>Java编程思想</title>
<author>Bruce Eckel</author>
<publisher>机械工业出版社</publisher>
<price>80.00</price>
</book>
<book>
<title>Head First Java</title>
<author>Kathy Sierra, Bert Bates</author>
<publisher>中国电力出版社</publisher>
<price>69.00</price>
</book>
</root>
我们可以使用dom4j库解析该文件,并输出每本书的信息。
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class XmlParser {
public static void main(String[] args) throws DocumentException {
SAXReader reader = new SAXReader();
Document document = reader.read("example.xml");
for (Element book : document.getRootElement().elements("book")) {
String title = book.element("title").getText();
String author = book.element("author").getText();
String publisher = book.element("publisher").getText();
String price = book.element("price").getText();
System.out.printf("Title: %s\nAuthor: %s\nPublisher: %s\nPrice: %s\n\n", title, author, publisher, price);
}
}
}
运行该代码后,将会输出以下内容:
Title: Java编程思想
Author: Bruce Eckel
Publisher: 机械工业出版社
Price: 80.00
Title: Head First Java
Author: Kathy Sierra, Bert Bates
Publisher: 中国电力出版社
Price: 69.00
我们可以看到,输出结果为每本书的具体信息,方便我们对XML文件内容进行处理。
总结
本文介绍了如何使用dom4j库解析XML文件,提供了两个示例分别用于解析XML文档的结构和内容。dom4j库是一个功能强大的XML解析库,同时也非常容易使用。通过学习本文的内容,相信读者能够快速上手dom4j库,为XML文件解析和处理提供便利。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java dom4j解析xml文件代码实例分享 - Python技术站