接下来我会为您详细讲解“Java使用dom4j生成与解析XML文档的方法示例”:
Dom4j简介
Dom4j是一个Java XML API。它是JAXP API之上一层的接口,可以解析XML文件以及生成新的XML文件。同时,它也支持XPath表达式。本文将通过两个示例来讲解使用Dom4j生成和解析XML文档的方法。
示例1:生成XML文档
以下是生成一个包含学生信息的XML文件的示例代码:
import java.io.File;
import java.io.FileOutputStream;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
public class CreateXML {
public static void main(String[] args) {
// 创建Document对象
Document document = DocumentHelper.createDocument();
// 添加根元素
Element root = document.addElement("students");
// 添加子元素
Element student = root.addElement("student");
student.addAttribute("id", "1");
student.addElement("name").addText("Tom");
student.addElement("age").addText("18");
student.addElement("gender").addText("male");
// 保存为XML文件
try {
FileOutputStream out = new FileOutputStream(new File("students.xml"));
document.write(out);
out.close();
System.out.println("XML文件已经生成!");
} catch (Exception e) {
e.printStackTrace();
}
}
}
输出结果为:
XML文件已经生成!
students.xml的内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<students>
<student id="1">
<name>Tom</name>
<age>18</age>
<gender>male</gender>
</student>
</students>
在示例中,我们使用DocumentHelper.createDocument方法创建一个Document对象,并使用addElement方法添加根元素和子元素,在添加子元素时使用addAttribute方法为元素添加属性,使用addText方法为元素赋值,最后使用FileOutputStream输出文件。在此过程中,我们使用try-catch块捕获可能出现的异常。
示例2:解析XML文档
以下是解析示例1生成的XML文件的示例代码:
import java.io.File;
import java.util.Iterator;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class ReadXML {
public static void main(String[] args) {
// 创建SAXReader对象
SAXReader reader = new SAXReader();
try {
// 获取XML文件
Document document = reader.read(new File("students.xml"));
// 获取根元素
Element root = document.getRootElement();
// 遍历根元素的子元素
for (Iterator<Element> i = root.elementIterator(); i.hasNext();) {
Element e = i.next();
// 获取元素值
String id = e.attributeValue("id");
String name = e.elementText("name");
String age = e.elementText("age");
String gender = e.elementText("gender");
// 输出结果
System.out.println("学生信息:");
System.out.println("ID:" + id);
System.out.println("姓名:" + name);
System.out.println("年龄:" + age);
System.out.println("性别:" + gender);
System.out.println();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
输出结果为:
学生信息:
ID:1
姓名:Tom
年龄:18
性别:male
在示例中,我们创建了SAXReader对象,使用read方法获取xml文件并获得根元素。然后使用elementIterator方法遍历每个子元素,并使用attributeValue方法和elementText方法获取元素的属性值和元素值。最后输出结果。
以上是本文的示例内容。希望能够帮助到您。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java使用dom4j生成与解析xml文档的方法示例 - Python技术站