2012-09-04 334 views
0

我有一個包含XML標籤的文件,文件的名稱是abc.xml,我只想知道哪一個是我應該用來讀取該xml文件的最佳IO技術意味着內存映射IO,緩衝讀取器和哪一個是通過java程序讀取xml文件最快的。通過java程序讀取一個xml文件

回答

1

有兩種解析XML文件的主要流派:使用SAX和JAXP。 SAX是一種面向流的解析技術。這意味着你在標籤之後讀取一個文件標籤並且不能後退。它非常簡單而且快速,但是用它來實現更高級的任務可能會很困難。另一方面,JAXP將文檔表示爲對象樹(DOM結構)。它速度較慢,需要更多內存,但在複雜的XML文件操作中使用起來往往更容易。瞭解這兩種技術是軟件工程師的「必須知道的」。

+1

這是SAX和DOM,SAX不和JAXP。 JAXP包含SAX和DOM(以及其他)。 http://en.wikipedia.org/wiki/Java_API_for_XML_Processing – lbalazscs

+1

JAXP不是DOM。 JAXP是一組提供支持SAX和DOM的解析器的API。 – techuser

0

如果你想讀快速和骯髒的XML文件....這裏的選項...

DOM解析器

SAX解析器

pull解析器

JAXP & JAXB

腳輪

坦白說,我沒有使用內存映射的IO,但已與緩衝閱讀器的工作與沒有probs同樣的目的....