java解析xml匯總

來源:互聯網
上載者:User
java解析xml匯總
關鍵字:Java解析xml、解析xml四種方法、DOM、SAX、JDOM、DOM4j、XPath 【引言】

目前在Java中用於解析XML的技術很多,主流的有DOM、SAX、JDOM、DOM4j,下文主要介紹這4種解析XML文檔技術的使用、優缺點及效能測試。 一、【基礎知識——掃盲】

sax、dom是兩種對xml文檔進行解析的方法(沒有具體實現,只是介面),所以只有它們是無法解析xml文檔的;jaxp只是api,它進一步封裝了sax、dom兩種介面,並且提供了DomcumentBuilderFactory/DomcumentBuilder和SAXParserFactory/SAXParser(預設使用xerces解譯器)。 二、【DOM、SAX、JDOM、DOM4j簡單使用介紹】

1、【DOM(Document Object Model) 】
由W3C提供的介面,它將整個XML文檔讀入記憶體,構建一個DOM樹來對各個節點(Node)進行操作。為XML文檔的已解析版本定義了一組介面。解析器讀入整個文檔,然後構建一個駐留記憶體的樹結構,然後代碼就可以使用 DOM 介面來操作這個樹結構。
優點:整個文檔樹在記憶體中,便於操作,支援刪除、修改、重新排列等多種功能。
缺點:將整個文檔調入記憶體(包括無用的節點),浪費時間和空間。
使用場合:一旦解析了文檔還需多次訪問這些資料,硬體資源充足(記憶體、CPU)。

範例程式碼: <?xml version="1.0" encoding="UTF-8"?>   <university name="pku">       <college name="c1">           <class name="class1">               <student name="stu1" sex='male' age="21" />               <student name="stu2" sex='female' age="20" />               <student name="stu3" sex='female' age="20" />           </class>           <class name="class2">               <student name="stu4" sex='male' age="19" />               <student name="stu5" sex='female' age="20" />               <student name="stu6" sex='female' age="21" />           </class>       </college>       <college name="c2">           <class name="class3">               <student name="stu7" sex='male' age="20" />           </class>       </college>       <college name="c3">       </college>   </university>  

後文代碼中有使用到text.xml(該文檔放在src路徑下,既編譯後在classes路徑下),都是指該xml文檔。 package test.xml;      import java.io.File;   import java.io.FileNotFoundException;   import java.io.FileOutputStream;   import java.io.IOException;   import java.io.InputStream;      import javax.xml.parsers.DocumentBuilder;   import javax.xml.parsers.DocumentBuilderFactory;   import javax.xml.parsers.ParserConfigurationException;  

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.