我們有一個新的要求:有效的方式來讀取大的XML文件的一小部分在Java中
有一些大的XML文件不斷進入我們的系統,我們需要及時快速地處理它們使用Java 。該文件是巨大的,但我們處理所需的信息是在一個非常小的元素內。 ... ...
什麼是我們開始處理之前,從大文件中提取數據的這小部分的最佳方式。如果我們嘗試加載整個文件,我們會因大小而立即發生內存不足錯誤。 Java中有效的方法是什麼,我可以使用它來獲取..data ..data ..data ..數據元素,而不需要逐行加載或讀取文件。有沒有我可以用來完成這個任務的SAX解析器?
謝謝
一旦你找到你感興趣的部分,你會推薦什麼方法來停止解析?恕我直言,SAX使用的回調模型並不適用於此。 – Alex
我必須同意這一點。仔細定義處理程序方法(高效且最簡單的代碼)也很重要,否則您最終可能會構建一個不如基於DOM的解決方案好得多的解決方案。 –
我認爲XMLStreamReader(StAX)可能更適合這裏。既然它給了你一個迭代器,你可以循環直到你找到你要找的東西,讀取它,然後關閉閱讀器。 – Alex