下面我来详细讲解Java使用dom4j实现对Xml简单的增删改查操作。
一、dom4j简介
dom4j是一个Java开发的xml解析器,是jdom的一个分支,最初开发者是James Strachan。为什么要使用dom4j呢?它可以在xml解析时实现快速遍历,修改,生成xml等操作,对于xml格式不严格的文档也能够解析。dom4j使用的xpath表达式来实现对xml的解析,建议熟练掌握XPath语法。
二、依赖添加
在项目的pom.xml文件中,添加下面的依赖:
<dependency>
<groupId>jaxen</groupId>
<artifactId>jaxen</artifactId>
<version>1.1.6</version>
</dependency>
<dependency>
<groupId>dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>1.6.1</version>
</dependency>
三、dom4j对xml进行增删改查操作
下面就让我们来看看dom4j如何对xml进行增删改查操作。
创建Xml文档
使用dom4j创建xml文档及节点的示例代码:
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import java.io.FileWriter;
public class CreateXml {
public static void main(String[] args) throws Exception{
Document document = DocumentHelper.createDocument();
//添加根节点
Element rootElement = document.addElement("root");
//添加子节点
Element studentElement = rootElement.addElement("student");
studentElement.addAttribute("id","001");
Element nameElement = studentElement.addElement("name");
nameElement.setText("张三");
Element ageElement = studentElement.addElement("age");
ageElement.setText("18");
//创建输出流,写入文件
FileWriter fileWriter = new FileWriter("test.xml");
document.write(fileWriter);
fileWriter.close();
}
}
查询节点信息
使用dom4j对xml进行查询,获取节点信息的示例代码:
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import java.util.List;
public class SearchXml {
public static void main(String[] args) throws DocumentException {
SAXReader reader = new SAXReader();
Document document = reader.read("test.xml");
//获取根节点
Element rootElement = document.getRootElement();
//获取子节点列表
List<Element> studentElements = rootElement.elements("student");
//循环输出节点信息
for(Element student : studentElements){
System.out.println(student.attributeValue("id"));
System.out.println(student.elementText("name"));
System.out.println(student.elementText("age"));
System.out.println("-------------------------");
}
}
}
更新节点信息
使用dom4j对xml进行更新,修改节点信息的示例代码:
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import java.io.FileWriter;
public class UpdateXml {
public static void main(String[] args) throws DocumentException, Exception {
SAXReader reader = new SAXReader();
Document document = reader.read("test.xml");
//获取根节点
Element rootElement = document.getRootElement();
//获取需要修改的节点
Element studentElement = rootElement.element("student");
//获取节点的age子节点
Element ageElement = studentElement.element("age");
//修改节点的值
ageElement.setText("20");
//创建输出流,写入文件
FileWriter fileWriter = new FileWriter("test.xml");
document.write(fileWriter);
fileWriter.close();
}
}
删除节点信息
使用dom4j对xml进行删除,删除节点信息的示例代码:
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import java.io.FileWriter;
public class DeleteXml {
public static void main(String[] args) throws DocumentException, Exception {
SAXReader reader = new SAXReader();
Document document = reader.read("test.xml");
//获取根节点
Element rootElement = document.getRootElement();
//获取需要删除的节点
Element studentElement = rootElement.element("student");
//删除节点
rootElement.remove(studentElement);
//创建输出流,写入文件
FileWriter fileWriter = new FileWriter("test.xml");
document.write(fileWriter);
fileWriter.close();
}
}
四、总结
以上就是Java使用dom4j实现对xml简单的增删改查操作的攻略,重点理解dom4j的使用方法及XPath语法,熟练掌握后可以在实际中灵活运用。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java使用dom4j实现对xml简单的增删改查操作示例 - Python技术站