XML檔案四種解析之一Dom解析

2021-09-11 00:14:58 字數 1621 閱讀 1007

1.建立documentbuilde***ctory物件

documentbuilde***ctory dbf = documentbuilde***ctory.newinsance()
2.建立documentbuilder物件

documentbuilder db = dbf.newdocumentbuilder()
3.獲取並解析xml檔案

document document = db.parse("books.xml")
4.獲取指定標籤列表

nodelist booklist = document.getelementsbytagname("book");
5.獲取標籤中屬性 id

//遍歷獲取指定屬性

element book = (element) booklist.item(i);

string id = book.getattribute("id");

system.out.println("id:"+id);

6.獲取所有字節點

nodelist childnodes = book.getchildnodes();
7.獲取節點內容

childnodes.item(j).getnodename()

childnodes.item(j).getfirstchild().getnodevalue()

childnodes.item(j).gettextcontent()

8.xml檔案內容

<?xml version="1.0" encoding="utf8" ?>

紅與黑張飛

2018

78 一千零一夜

1001

2014

99

9.完整dom解析**

public static void main(string args) 

//獲取指定屬性

element book = (element) booklist.item(i);

string id = book.getattribute("id");

system.out.println("id:"+id);

//獲取所有字節點

nodelist childnodes = book.getchildnodes();

for (int j = 0; j < childnodes.getlength(); j++) }}

} catch (parserconfigurationexception e) catch (saxexception e) catch (ioexception e)

}

XML檔案四種解析方式對比

dom在解析時,會將xml檔案中的所有內容一次性載入到記憶體中,並形成乙個dom樹。優點形成了樹結構,直觀好理解,更易於編寫 解析過程中樹的結構儲存在記憶體中,方便修改。缺點 當xml檔案較大時,記憶體消耗比較大,容易影響解析效能並造成記憶體溢位。sax解析是基於事件驅動的解析方式。優點採用事件驅動...

XML的四種解析方式

測 試 這種處理的優點非常類似於流 的優點。分析能夠立即開始,而不是等待所有的資料被處理。而且,由於應用程式只是在讀取資料時檢查資料,因此不需要將資料儲存在記憶體中。這對於大型文件來說是個巨大的優點。事實上,應用程式甚至不必解析整個文件 它可以在某個條件得到滿足時停止解析。一般來說,sax 還比它的...

四種xml的解析方式

比較 1.dom4j效能最好,連sun的jaxm也在用dom4j。目前許多開源專案中大量採用dom4j,例如大名鼎鼎的hibernate也用dom4j來讀取xml配置檔案。如果不考慮可移植性,那就採用dom4j.2.jdom和dom在效能測試時表現不佳,在測試10m文件時記憶體溢位,但可移植。在小文...