dom4j

1.创建:

   1.1直接代码创建:Document document = DocumentHelper.createDocument();
           Element root =  document.addElement("root");  ......其他的都这么来.

   1.2使用string创建:String str = "<?xml version='1.0' encoding='UTF-8'?><root><book1                         type='test'><name>javaWorld</name><price>123.0</price></book1></root>";

        Document document = DocumentHelper.parseText(str); ......其他的和上面一样;

  1.3使用存在的文档,利用SAXReader.read(new File("filePath"));创建document:

       SAXReader sr = new SAXReader(); 

       Document doc = sr.read(new File(filePath));

2.修改/保存:

  OutputFormat outFmt=new OutputFormat("    ",true); //格式使用4个空格作为缩进字符串,元素之间添加新行
    XMLWriter xmlWriter = new XMLWriter(new FileWriter(new File("path")),outFmt);
      xmlWriter.write(doc);
      xmlWriter.close();

3.删除:remove(Element/Attribute);//注意,只有在父节点上移除,不能在祖先节点上移除;

4.查找:

  4.1在document下查找元素: elementByID("str"); getParent();//很少用    getRootElement();//得到root元素,用的最多.

  4.2在Element下查找元素,如在root下查找:root.element("str");//常用

  4.3在Element下查找属性:如在root下查找属性为str的值:root.attributeValue("str");  //不用get开头--------记忆:获取Element和Attribute都不用 get开头;

  4.4在Element下查找文本值:getText();

  4.5相当于补充的,这个需要使用jaxen.jar,直接通过路径来获取document中的元素元素,不用一步一步来搞了.如下:
   Element book1 = (Element) document.selectSingleNode("/root/book1");

  4.6有时候需要遍历元素下的所有元素使用----elementIterator(),如遍历root下的所有元素:Iterator iterator=root.elementIterator();  

  -->while(iterator.hasNext()) {

   Element e = (Element) iterator.next();   //注意游标是从所有元素的最前面开始的,也就是说他所在的位置没有元素.

  }

原文地址:https://www.cnblogs.com/yanjunwu/p/3171774.html