有时,我必须根据 xsd 文件检查一些大型 xml 文件的有效性。我收到的最大 xml 文件的大小接近 1.5GB。
xmllint占用了我所有的 RAM 和几乎所有的交换空间,总内存使用量为 18GB。因此,验证过程持续了 24 小时。
我的问题:是否有替代方案xmllint --schema消耗更少的内存,也许利用一些流功能而不是将文件加载到内存?
我没有测试这些验证器,而是从我的脑海中/小搜索:
msv - Sun 多模式验证器HaXML - haskell xml 工具包含命令行实用程序(一个是验证器)xsltproc 还应该在启动时验证文件还有更多选项,因为大多数实用程序会自动验证 xml 文档,例如xsltproc.