通过DOM4J对xml进行操作
程序员文章站
2022-05-28 20:25:40
...
通过DOM4J将一个node节点写入xml文件
private static void addStudent() {
try {
/****
* 通过dom4j将一个node节点写入到xml文件
*/
//创建SAXReader解析器对象
SAXReader reader=new SAXReader();
//加载studentes.xml
Document doc=reader.read(DOM4jTest.class.
getClassLoader().getResourceAsStream("studentes.xml"));
//获得doc的根节点对象
Element root = doc.getRootElement();
/***
* 修改doc表示的xml文件,修改内存中的数据
*/
//创建student节点对象,修改了内存中的doc树,给root节点添加了子节点
Element student = root.addElement("student");
//给student节点添加属性
student.addAttribute("id", "120");
//给student节点添加子节点
Element name = student.addElement("name");
name.setText("特朗普");
Element sex = student.addElement("sex");
sex.setText("男");
Element age = student.addElement("age");
age.setText("22");
//创建Writer对象,指定文件
FileWriter out=
new FileWriter("D:\\eclipse-work\\12_10_day19\\src\\studentes.xml");
//创建OutputFormat实现数据写出的格式化
OutputFormat format=new OutputFormat("\t", true);
//创建XMLWriter对象,实现数据写入文件
XMLWriter writer=new XMLWriter(out, format);
writer.write(doc);
writer.flush();
writer.close();
System.out.println("----------over----------");
}catch(Exception ex) {
ex.printStackTrace();
}
通过DOM4J修改节点数据
public class DOM4jTest2 {
public static void main(String[] args) throws DocumentException, IOException {
//加载需要修改的文件
SAXReader reader=new SAXReader();
//加载xml文件
Document doc = reader.read(DOM4jTest2.class
.getClassLoader().getResourceAsStream("pet.xml"));
//获得根节点
Element root = doc.getRootElement();
//获得root的子节点
List<Element> elements = root.elements("pet");
for(Element ele:elements) {
String id = ele.element("id").getText();
if(id.equals("111")) {
ele.element("name").setText("aaaa");
}
}
//创建Writer对象,指定文件
FileWriter out= new FileWriter("src/pet.xml");
//创建OutputFormat实现数据写出的格式化
//OutputFormat format=new OutputFormat("\t", true);
//XMLWriter writer=new XMLWriter(out,format);
XMLWriter writer=new XMLWriter(out);
writer.write(doc);
writer.flush();
writer.close();
}
}
通过DOM4J删除节点数据
public class DOM4jTest2 {
public static void main(String[] args) throws DocumentException, IOException {
//创建SAXReader
SAXReader reader=new SAXReader();
//加载产生dom树
Document doc =
reader.read(DOM4jTest2.class.getClassLoader().getResourceAsStream("pet.xml"));
//获得root节点
Element root = doc.getRootElement();
//获得root的子节点
List<Element> elements = root.elements("pet");
for(Element ele:elements) {
String id = ele.element("id").getText();
if(id.equals("111")) {
//删除某个节点
root.remove(ele);
}
}
//创建Writer对象,指定文件
FileWriter out= new FileWriter("src/pet.xml");
XMLWriter writer=new XMLWriter(out);
writer.write(doc);
writer.flush();
writer.close();
}
}
下一篇: Neo4j图数据库