修复大型格式错误的xml文件

时间:2011-09-13 18:38:49

标签: xml

是否有用于修复大型(> 200MB)格式错误(缺少封闭式标签,不匹配的引号,非转义字符,不可打印字符等)xml文件的库?任何编程语言的库都可以。我发现PHP Tidy仅适用于小文件,因为它将整个文件读入内存。

3 个答案:

答案 0 :(得分:1)

Tidy可以使用-asxhtml-asxml标志来做到这一点:

tidy -asxhtml input.xml output.xml

它还具有令人印象深刻的输出缩进功能(默认情况下,它不会产生非常漂亮的效果)。

答案 1 :(得分:0)

Notepad ++包含HTMLTidy;它可以配置为修复XML,但您应该准备好截断/删除/或重新定位元素值;从而打破了XML文档本身的语义布局。

在任何情况下,使用Notepad ++手动修复XML都很有用,因为您可以使用折叠/展开工具和缩进来跟踪正常工作的XML节点,并完成整个文件直到修复完成

如果您的文件有XML架构,则可以修复该文件,然后根据该架构对其进行验证,以查找已移动的节点,如果很少有人可以手动修复它们。

在任何情况下,都没有我知道的修复/修复工具,无需大量人工操作即可为您完成此任务。

答案 2 :(得分:0)

HTML可以帮助您整洁:

tidy -xml input.file output.file

只要了解整洁并不能创造奇迹,只需尝试将其重建为有效的XML文件即可。考虑到您可能正在丢失数据。

http://www.html-tidy.org/