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文件時記憶體溢位,但可移植。在小文...