2011-09-13 23 views
0

是否有任何庫用於修復大型(> 200MB)錯誤格式化(丟失封閉標籤,不匹配引號,非轉義字符,不可打印字符等)xml文件?任何編程語言的庫都可以。我發現PHP Tidy只適用於小文件,因爲它將整個文件讀入內存。修復大的錯誤格式的xml文件

+0

什麼是「格式不正確的XML文件」? XML錯了嗎?或者當你嘗試在瀏覽器中閱讀它時,它會顯得雜亂無章? –

+0

什麼大小 - 大是沒有那麼有用的措施 - 它們又如何打破整潔只修復HTML – Mark

+0

謝謝。編輯後。 – Ethan

回答

-1

Notepad ++包含HTMLTidy;它可以配置爲修復XML,但您應該準備好將元素值截斷/移除/重新定位;從而打破了XML文檔本身的語義佈局。

在任何情況下,使用Notepad ++無論如何手動修復XML是有用的,因爲您可以使用摺疊/展開工具和縮進來跟蹤正常工作的XML節點,並且通過該文件進行修復,直到修復完成。

如果您的文件有XML模式,您可以修復該文件,然後根據該模式對其進行驗證,以查找被移動的節點,如果這些節點很少可以手動修復它們。

在任何情況下,我都知道沒有修復/修復工具可以爲您做到這一點,而不需要大量的手動操作。

+0

但是PHP Tidy OP使用的是使用HTML Tidy,所以會出現相同的內存問題。 – Mark

+0

@simbolo - 我正在尋找一種編程方式。 – Ethan

+0

@Ehan,沒有編程的方式去做你所要求的。如果您希望XML保持不變,則手動修復它們或根本不修復它們。任何編程方法都會截斷/刪除/重新定位你的XML樹,這將使它變得毫無用處。 – simbolo