Dom4j 封裝DOM和SAX 的方法

Dom4j 封裝DOM的解析XML文件的方法:java

 1 List<Book> bookList=new ArrayList<Book>();
 2             //1.1  創建一個解析器工廠: 
 3             DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
 4             //1.2  得到一個DocumentBuilder對象,這個對象表明了具體的DOM解析器
 5             DocumentBuilder db = dbf.newDocumentBuilder();
 6             //1.3 將xml文件加載到內存中,獲得表示整個文檔的Document對象
 7             InputStream inStream=DomParser.class.getClassLoader().getResourceAsStream("book.xml");
 8             org.w3c.dom.Document w3cdoc=db.parse(inStream);
 9             //2.建立一個DOMReader
10             DOMReader domReader=new DOMReader();
11             //3.將org.w3c.dom.Document轉成org.dom4j.Document
12             org.dom4j.Document doc=domReader.read(w3cdoc);
13             Element ele=doc.getRootElement();//3.得到根節點
14             //4.使用迭代器對子節點進行迭代
15             Iterator<Element> it=ele.elementIterator();
16             while(it.hasNext()){
17                 Book book=new Book();
18                 Element bookEle=it.next();//取出當前的迭代的元素
19                 book.setId(bookEle.attributeValue("id"));//attributeValue:根據屬性名得到屬性值
20                 book.setName(bookEle.element("name").getText());
21                 book.setAuthor(bookEle.elementText("author"));
22                 bookList.add(book);

 

Dom4j 封裝SAX的解析XML文件的方法:dom

 1        List<Book> bookList=new ArrayList<Book>();
 2             InputStream inStream=DomParser.class.getClassLoader().getResourceAsStream("book.xml");
 3             SAXReader saxReader=new SAXReader();//1. 建立sax解析器
 4             org.dom4j.Document doc=saxReader.read(inStream);//2. 得到org.dom4j.Document文檔對象
 5             Element ele=doc.getRootElement();//3.得到根節點
 6             //4.使用迭代器對子節點進行迭代
 7             Iterator<Element> it=ele.elementIterator();
 8             while(it.hasNext()){
 9                 Book book=new Book();
10                 Element bookEle=it.next();//取出當前的迭代的元素
11                 book.setId(bookEle.attributeValue("id"));//attributeValue:根據屬性名得到屬性值
12                 book.setName(bookEle.element("name").getText());
13                 book.setAuthor(bookEle.elementText("author"));
14                 bookList.add(book);

 

Dom4j 生成XML文件ui

 

 1 import java.io.FileWriter;
 2 
 3 import org.dom4j.Document;
 4 import org.dom4j.DocumentHelper;
 5 import org.dom4j.Element;
 6 import org.dom4j.io.OutputFormat;
 7 import org.dom4j.io.XMLWriter;
 8 /**
 9  * dom4j 
10  * @author bwf
11  *
12  */
13 public class TestDom4j2 {
14     public static void main(String[] args) throws Exception {
15         
16         //建立Document
17         Document dom=DocumentHelper.createDocument();
18         //建立根節點
19         Element root=dom.addElement("我愛吃水果");
20         //建立元素,並附加屬性 
21         Element item1=root.addElement("水果").addAttribute("編號", "001");
22         Element name1=item1.addElement("名字").addText("蘋果");
23         
24         Element item2=root.addElement("水果").addAttribute("編號", "002");
25         Element name2=item2.addElement("名字").addText("柚子");
26         
27         Element item3=root.addElement("水果").addAttribute("編號", "003");
28         Element name3=item3.addElement("名字").addText("草莓");
29         
30         //美化格式
31         OutputFormat format = OutputFormat.createPrettyPrint();
32         //文件
33         FileWriter w=new FileWriter("c:/Users/bwf/Desktop/food.xml");
34         //輸出流
35         XMLWriter writer =new XMLWriter(w,format);    
36         
37         writer.write(dom);
38         writer.close();
39     }
40 }
相關文章
相關標籤/搜索