替代 xmllint 来检查 xml 有效性

Lui*_*uis 5 linux xml

有时,我必须根据 xsd 文件检查一些大型 xml 文件的有效性。我收到的最大 xml 文件的大小接近 1.5GB。 xmllint占用了我所有的 RAM 和几乎所有的交换空间,总内存使用量为 18GB。因此,验证过程持续了 24 小时。

我的问题:是否有替代方案xmllint --schema消耗更少的内存,也许利用一些流功能而不是将文件加载到内存?

Ulr*_*gel 5

我没有测试这些验证器,而是从我的脑海中/小搜索:

  1. XMLStarlet - 也可用于其他用途
  2. msv - Sun 多模式验证器
  3. HaXML - haskell xml 工具包含命令行实用程序(一个是验证器)
  4. xsltproc 还应该在启动时验证文件

还有更多选项,因为大多数实用程序会自动验证 xml 文档,例如xsltproc.