對於資料量較大的xml文件,使用xmlDocument讀取時,雖然支援XPath,查詢比較方便,但是需要先load,這樣就浪費了內存,使用起來速度比較慢。
而如果使用XMLReader的話,不需要緩存,讀取速度很快,但是如果要查詢就不那麼方便了,不支援XPath,只能透過Reader()方法前向循環。為了避免以上兩種方法的缺點,想出以下方案:
1、先使用XMLReader將XML檔案的內容讀取到一個鍊錶中。
2、查詢的時候查詢鍊錶就可以了(可以在定義鍊錶的類別中定義查詢函數,要查詢的時候直接呼叫函數就可以了,非常方便)。
結果證明:速度和查詢效果都很好。
以上是關於讀大數據量的XML檔的讀取問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!