您可以尝试使用命令行验证程序,例如xmlstarlet:
$ xmlstarlet validate bigfile.xml
Run Code Online (Sandbox Code Playgroud)
xmllint --stream
使用内存限制为500Mb的1.2Gb文件:
ulimit -Sv 500000
xmllint --stream a.xml
Run Code Online (Sandbox Code Playgroud)
没有--stream,Linux杀死了这个过程,没有ulimit我的计算机堵塞.
然而,我无法--xpath在使用时获得输出--stream:如何在巨大的XML文件中执行命令行XPath查询?
在Ubuntu 14.04,xmllint版本20901中测试.
我知道的唯一一个工具是XML ValidatorBuddy,它结合了大型文件查看器和大型文件的XML验证 器.文件查看器不会立即加载整个文件,但可以滚动并应用XML语法着色.验证使用来自Xerces的SAX解析器,您的文档> 100mb应该不是问题.