我們正在使用一種將XML文件作爲輸入並將其轉換爲CSV的工具。該工具對於50MB文件工作正常,但爲100MB文件拋出異常。如果輸入xml超過100MB,xmlDocument.Load是否會被重載?
分析後,我發現xmlDocument.Load函數與輸入重載。你能建議任何方式來處理這些錯誤嗎?
我們正在使用一種將XML文件作爲輸入並將其轉換爲CSV的工具。該工具對於50MB文件工作正常,但爲100MB文件拋出異常。如果輸入xml超過100MB,xmlDocument.Load是否會被重載?
分析後,我發現xmlDocument.Load函數與輸入重載。你能建議任何方式來處理這些錯誤嗎?
XmlDocument
將整個文檔加載到內存並構建它的DOM樹。因此,它爲大文件引發OutOfMemoryException
。
相反,您可以使用XmlTextReader
逐個令牌讀取文檔。它需要一些代碼來處理XML數據的結構,但是使用這種方法,您可以無任何問題地閱讀任意大的文檔。
謝謝你,我想它解決了這個問題。 – Sreedevi
這確實是我在這裏要做的;儘管如此:直接從XmlReader讀取並不總是微不足道的(儘管它取決於XML) –
什麼異常?你能否顯示正在拋出的代碼(或者更好,簡短的重新創建)。 – Richard