Java解析XML的四種方法比較
XML現在已經成為一種通用的資料交換格式,它的平臺無關性,語言無關性,系統無關性,給資料整合與互動帶來了極大的方便。XML在不同的語言裡解析方式都是一樣的,只不過實現的語法不同而已。基本的解析方式有兩種,一種叫SAX,另一種叫DOM。SAX是基於事件流的解析,DOM是基於XML文件樹結構的解析.
java解析xml常用的四種方法有:
DOM,DOM4J,SAX,JDOM
1.DOM生成和解析XML文件
DOM 解析xml文件時將讀取整個文件,然後構建一個駐留記憶體的樹結構,支援刪除、修改、重新排列等多種功能。缺點:將整個文件調入記憶體(包括無用的節點),浪費時間和空間
2.SAX生成和解析XML文件
SAX:事件驅動。當解析器發現元素開始、元素結束、文字、文件的開始或結束等時,傳送事件,程式設計師編寫響應這些事件的程式碼,儲存資料。優點:不用事先調入整個文件,佔用資源少;SAX解析器程式碼比DOM解析器程式碼小,適於Applet,下載。缺點:不是持久的;事件過後,若沒儲存資料,那麼資料就丟了;無狀態性;從事件中只能得到文字,但不知該文字屬於哪個元素;使用場合:Applet;只需XML文件的少量內容,很少回頭訪問;機器記憶體少;
3.JDOM生成和解析XML
極大地減少了程式碼量,使用簡單,操作方便能實現基本的解析、建立等,但在底層,JDOM還是使用SAX(最常用)、DOM、Xanan文件。
4.DOM4J生成和解析XML文件
DOM4J 是一個非常非常優秀的Java XML API,具有效能優異、功能強大和極端易用使用的特點,同時它也是一個開放原始碼的軟體。如今你可以看到越來越多的 Java 軟體都在使用 DOM4J 來讀寫 XML,包括Hibernate和Sun 的 JAXM 也在用 DOM4J。
本文推薦使用DOM4J,附:DOM4J解析xml原始碼示例:
public List<Map> readXml(String xmlPath) throws DocumentException {
List list=new ArrayList();
SAXReader saxReader = new SAXReader();
Document doc = saxReader.read(xmlPath);
Element root = doc.getRootElement();
for (Iterator it = root.elementIterator(); it.hasNext();) {
Element content = (Element) it.next();
List list = content.attributes();
for (int i = 0; i < list.size(); i++) {
Attribute attr = (Attribute) list.get(i);
String key = attr.getName();
String value = attr.getValue();
map.put(key, value);
}
listMap.add(map);
}
return list;
}
相關推薦
Java解析XML的四種方法比較
XML現在已經成為一種通用的資料交換格式,它的平臺無關性,語言無關性,系統無關性,給資料整合與互動帶來了極大的方便。XML在不同的語言裡解析方式都是一樣的,只不過實現的語法不同而已。基本的解析方式有兩種,一種叫SAX,另一種叫DOM。SAX是基於事件流的解析,DOM是基於X
xml 解析的四種方法
1 DOM解析 是將這個xml檔案裝入記憶體 DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumen
oracle 批量更新四種方法比較
軟體環境 Windows 2000 + ORACLE9i 硬體環境 CPU 1.8G + RAM 512M 現在我們有2張表 如下: T1–大表 10000筆 T1_FK_ID T2–小表 5000筆 T2_PK_ID T1通過表中欄位ID與
Java解析xml檔案的方法
什麼是 XML? XML指可擴充套件標記語言(EXtensible Markup Language)XML 是一種標記語言,很類似 HTMLXML 的設計宗旨是傳輸資料,而非顯示資料XML 標籤沒有被預定義。您需要自行定義標籤。XML 被設計為具有自我描述性。XML 是
java解析XML幾種方式小結
第一種:DOM。 DOM的全稱是Document Object Model,也即文件物件模型。在應用程式中,基於DOM的XML分析器將一個XML文件轉換成一個物件模型的集合(通常稱DOM樹),應用程式正是通過對這個物件模型的操作,來實現對XML文件資料的操作。通過DOM介面,應用程式可以在任何時候訪問X
詳解Java解析XML的四種方法(轉載)
出處:http://developer.51cto.com/art/200903/117512.htm XML現在已經成為一種通用的資料交換格式,它的平臺無關性,語言無關性,系統無關性,給資料整合與互動帶來了極大的方便。對於XML本身的語法知識與技術細節,需要閱讀相關的技術文獻,這裡
Java解析XML的四種方法詳解
package com.alisoft.facepay.framework.bean; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import
詳解Java解析XML的四種方法
XML現在已經成為一種通用的資料交換格式,平臺的無關性使得很多場合都需要用到XML。本文將詳細介紹用Java解析XML的四種方法。 XML現在已經成為一種通用的資料交換格式,它的平臺無關性,語言無關性,系統無關性,給資料整合與互動帶來了極大的方便。對於XML本身的語法知識與
詳解Java解析XML的四種方法—DOM/SAX/jdom/dom4j
最近在研究XML檔案的生成和解析,網上資料很多,當然也參差不齊。寫的沒錯誤的通常是單獨介紹了1種方法,介紹全的常常執行不起來。 小哆把4種方法彙總了一下,執行驗證成功。 jar包免費下載: XML在不同的語言裡解析方式都是
對DOM,SAX,JDOM,DOM4J四種方法解析XML文件的分析
文件加載 四種方法 結束 要求 每次 xml文件 基於 擴展方法 四種 ---恢復內容開始--- 1、DOM 與平臺無關的官方解析方式 DOM是一次性把xml文件加載到內存中,形成一個節點樹 對內存有要求 2、SAX java提供的基於事件驅動的解
Java 處理 XML的四種方法 --&gt;附:XmlUtils
XML現在已經成為一種通用的資料交換格式,平臺的無關性使得很多場合都需要用到XML。本文將詳細介紹用Java解析XML的四種方法。 XML現在已經成為一種通用的資料交換格式,它的平臺無關性,語言無關性,系統
JAVA遍歷list四種方法及其效率比較
四種主要方法有: foreach for(Object ob : list){ } Iterator Iterator it = list.iterator(); while(it.hasNext()){ Object ob = it.nex
後端---JAVA解析XML文件的四種方式
XML解析——Java中XML的四種解析方式 XML是一種通用的資料交換格式,它的平臺無關性、語言無關性、系統無關性、給資料整合與互動帶來了極大的方便。XML在不同的語言環境中解析方式都是一樣的,只不過實現的語法不同而已。 XML的解析方式分為四種: 一.DOM解析 1、JAXP
Java解析XML檔案的四種方式
1 import javax.xml.parsers.SAXParser; 2 import javax.xml.parsers.SAXParserFactory; 3 4 import org.xml.sax.Attributes; 5 import org.xml.sax
java讀取xml檔案的四種方法
1 import javax.xml.parsers.SAXParser; 2 import javax.xml.parsers.SAXParserFactory; 3 4 import org.xml.sax.Attributes; 5 import org.x
java解析xml檔案四種方式
1.介紹 1)DOM(JAXP Crimson解析器) DOM是用與平臺和語言無關的方式表示XML文件的官方W3C標準。DOM是以層次結構組織的節點或資訊片斷的集合。這個層次結構允許開發人員在樹中尋找特定資訊。分析該結構通常需要載入整個文件和構造層次結構,然後才能做任何工作。由於它是基於資訊層次的,因而
Java中遍歷list四種方法效率比較
Java遍歷List四種方法的效率對比 遍歷方法簡介 Java遍歷List的方法主要有: (1)for each for(bject o :list) { } [java] view plain copy print? (2)Iterator Iterator iter = lis
java 遍歷arrayList的四種方法
void 線程安全 接口 線程同步 object類 轉型 依次 調用 values package com.test; import java.util.ArrayList; import java.util.Iterator; import java.util.Lis
java語言復制數組的四種方法
原生態 png mit 宋體 angle 連接 earch oat nowrap 參考:http://www.cnblogs.com/dream-it-possible/p/7018804.html 來源於牛客網的一道選擇題: JAVA語言的下面幾種數組復制方法中,哪個
Java獲取系統時間的四種方法
min ont 時間格式 總結 int ava nth second 單獨 1、Date day=new Date(); SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Sys