將dom4j裏面的jar包放到項目中,buildpath一下java
核心類dom
1: org.dom4j...SaxReader
2: org.dom4j...Documentui
讀取xml中的有用的數據:編碼
public class Demo01 { @Test public void test1() throws Exception{ //1:聲明讀取文件的對象 SAXReader sax = new SAXReader(); //2:讀取文件 Document dom = sax.read("./files/users.xml"); //3:獲取根元素 Element root = dom.getRootElement(); //4:讀取裏面的節點 List<Element> users = root.elements(); for(Element e:users){ String id = e.attributeValue("id"); String name = e.element("name").getText(); String age = e.elementText("age"); System.err.println(id+","+name+","+age); } } }
增長節點: org.dom4j.XMLWriter - 將內存中的dom保存到文件中去。spa
@Test public void save() throws Exception{ SAXReader sax = new SAXReader(); Document dom = sax.read("./files/users.xml"); Element root = dom.getRootElement(); //添加子元素 Element userElement = root.addElement("user"); userElement.addAttribute("id","U100"); userElement.addElement("name").setText("馬六"); userElement.addElement("age").setText("34"); //保存 XMLWriter w = new XMLWriter(new FileOutputStream("./files/users.xml")); w.write(dom); // OutputFormat format = OutputFormat.createPrettyPrint(); // 利用格式化類對編碼進行設置 // format.setEncoding("GBK"); // FileOutputStream output = new FileOutputStream(new File(path + // "books1.xml")); // XMLWriter writer = new XMLWriter(output, format); // writer.write(doc); // writer.flush(); // writer.close(); }
刪除節點:code
@Test public void del() throws Exception{ SAXReader sax = new SAXReader(); Document dom = sax.read("./files/users.xml"); Element root = dom.getRootElement(); List<Element> list = root.elements(); Element last = list.get(list.size()-1); //刪除 last.getParent().remove(last); //保存 XMLWriter w = new XMLWriter(new FileOutputStream("./files/users.xml")); w.write(dom); }
更改節點:
orm
@Test public void del() throws Exception{ SAXReader sax = new SAXReader(); Document dom = sax.read("./files/users.xml"); Element root = dom.getRootElement(); List<Element> list = root.elements(); Element last = list.get(list.size()-1); //更改 //last.getElementsByTagName("name").item(0).setTextContent("王五"); //last.getElementsByTagName("age").item(0).setTextContent("15"); //保存 XMLWriter w = new XMLWriter(new FileOutputStream("./files/users.xml")); w.write(dom); }