XML--dom4j解析

將dom4j裏面的jar包放到項目中,buildpath一下java

    核心類dom

      1: org.dom4j...SaxReader
      2: org.dom4j...Document
ui

讀取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);
 }
相關文章
相關標籤/搜索