如何检查XML文件的有效性以显示xml错误发生的位置?
Firefox可以做到这一点,但我想在linux/windows命令行中做到这一点。
例如:我从Excel得到了一个很大(90MB)的XML文件,保存为XML电子表格2003格式。它包含各种无效数据,因此Firefox会像这样输出消息:
Line Number 790402, Column 65:
<Cell ss:StyleID="s18"><Data ss:Type="String">Here's some data I?Bnternational</Data></Cell>
Firefox在解析我的XML时相当慢(大概是因为它将所有内容都保存在内存中,以便呈现为一个很好的可导航树)。我并不关心针对XSD的验证,只想知道XML是否格式良好。
发布于 2009-07-17 10:14:16
有一个名为xmllint的linux命令可以很好地做到这一点。它的速度非常快,可以处理大文件而不会呕吐,并且会给出有用的验证错误消息。
发布于 2014-06-24 15:04:51
另一个答案是一字一句的:
python -c "import sys, xml.dom.minidom as d; d.parse(sys.argv[1])" FILE
发布于 2009-07-17 10:36:05
我总是推荐使用XML Starlet命令行实用程序。
它们提供直接从命令行对文档进行验证、查询、格式化和编辑的功能,对于这类工作,或者通过XPath检查文档、裁剪部分等,它们都是无价的。
https://stackoverflow.com/questions/1142438
复制相似问题