dom4j操作xml

  dom4j是一个Java的XML API,类似于jdom,用来读写XML文件。是一个非常优秀的Java XML API,具有性能优异、功能强大和极端易用使用的特点,同时它也是一个开放源工具。可以在这个地址http://dom4j.sourceforge.net进行下载。

  这里我们使用到的dom4j是dom4j-1.6.1这个版本,我们只需要使用到如下两个jar包:

  dom4j-1.6.1.jar

  commons-io-2.4.jar

1、dom4j读取xml字符串

 1 import org.dom4j.Document;

 2 import org.dom4j.DocumentException;

 3 import org.dom4j.DocumentHelper;

 4 import org.dom4j.Element;

 5 

 6 public class TestReadXMLString {

 7     public static void main(String[] args) throws DocumentException {

 8         String readline = "<?xml version=\"1.0\" encoding=\"utf-8\"?><students><student sid=\"001\"> <id>001</id><name>灰机</name> <age>18</age> </student></students>";
9 Document document = DocumentHelper.parseText(readline);// 加载字符串获得文档对象 10 Element rootElm = document.getRootElement();//获得文档根节点 11 System.out.println("rootElement: " + rootElm.getName());//打印根节点的名称 12 Element student = rootElm.element("student"); 13 Element id = student.element("id"); 14 Element name = student.element("name"); 15 Element age = student.element("age"); 16 System.out.println(id.getText()); 17 System.out.println(name.getText()); 18 System.out.println(age.getText()); 19 } 20 }

 

 2、dom4j创建xml文件

 1 import org.dom4j.Document;

 2 import org.dom4j.DocumentHelper;

 3 import org.dom4j.Element;

 4 import org.dom4j.io.OutputFormat;

 5 public class TestWriteXMLString {

 6     public static void main(String[] args) {

 7         OutputFormat format = OutputFormat.createPrettyPrint();

 8         // 1. 构造空的Document

 9         Document doc = DocumentHelper.createDocument();

10         doc.addComment("this is a comment");

11         // 2. 构造根元素

12         Element rootElmt = doc.addElement("users");

13         rootElmt.addNamespace("test", "www.test.com");

14 

15         Element userElmt = rootElmt.addElement("user");

16         userElmt.addAttribute("number", "1001");

17         userElmt.addElement("name").setText("zhangsan");

18         userElmt.addElement("age").setText("20");

19         userElmt.addElement("gender").setText("mail");

20 

21         Element userElmt2 = rootElmt.addElement("user");

22         userElmt.addAttribute("number", "1002");

23         userElmt2.addElement("name").setText("zhangsan");

24         userElmt2.addElement("age").setText("20");

25         userElmt2.addElement("gender").setText("mail");

26 

27         System.out.println(doc.asXML().replaceAll("\n", ""));

28     }

29 }

 

 3、读取或写xml文件

  读取xml文件

 1 SAXReader reader = new SAXReader();

 2       String path = "E:/Workspaces/MyEclipse 8.6/xmltest/file/student.xml";

 3       Document document = reader.read(new File(path));

 4 

 5   写xml文件

 6 

 7   OutputFormat format = OutputFormat.createPrettyPrint();

 8   format.setEncoding("utf-8");// 设置XML文件的编码格式

 9 

10   String filePath = "E:/Workspaces/MyEclipse 8.6/xmltest/file/student.xml";

11       Document document = DocumentHelper.createDocument();

12       doc.addComment("this is a comment");

13 

14   //创建document内容。。。

15   XMLWriter writer = new XMLWriter(new FileWriter(filePath), format);//写入指定的文件

16 

17   writer.write(document);

18 

19    writer.close();

你可能感兴趣的:(dom4j)