2012-10-11 37 views
2

由於C#中的XMLReader具有不會一次將整個XML文檔集成到內存中的屬性,所以對於大型XML文件似乎非常有用。 Java有類似的東西嗎?我發現Java也有一個名爲XMLReader的類,但它是否也是這樣做的?任何人請澄清。Java相當於XMLReader C#

感謝

回答

2

有加載XML的方法有兩種:它加載整個文檔中的內存和SAX解析器讀取XML並使用一個處理器來分析內容DOM文檔。

您可能會看看SAX解析器。

1

實際上,Java有一個名爲XMLReader接口。作爲一個接口而不是一個類,它實際上並沒有做任何事情,直到它實現爲止。

但是它是解析SAX包的一部分,它不會加載整個文檔,使用通過讀取XML文本觸發的事件。

您可能想要閱讀this tutorial以開始使用SAX,和/或在Google中搜索SAX。

Java中還有其他的XML解析包。 DOM會加載整個文檔,因此應該避免使用大文件。 StAX是一個較新的選項,它基於拉動系統而不是SAX使用的推動,但同樣不會加載整個文檔。