jjzjj

xml - 如何验证 xml 文件在 sh 或 bash 中是否有效?

如何验证XML文件在sh(最好)或bash中是否有效?我有一个文件经常损坏,需要在我花时间调查根本问题时更换。有没有使用sh或bash执行此任务的简单方法? 最佳答案 不直接与bash一起使用,但是xmllint相当广泛可用。xmllint--format"${xmlfile}"如果XML文件无效,这将以非零状态退出(提示:bash中的$?为您提供最后一个命令的退出代码)。 关于xml-如何验证xml文件在sh或bash中是否有效?,我们在StackOverflow上找到一个类似的问题:

xml - 如何在巨大的 XML 文件中进行命令行 XPath 查询?

我有一组XML文件,其中一些文件非常大(多达约5000万个元素节点)。我正在使用xmllint来验证这些文件,由于流式API,即使对于大型文件也能很好地工作。xmllint--loaddtd--stream--valid/path/to/huge.xml我最近了解到xmllint还可以进行命令行XPath查询,非常方便。xmllint--loaddtd--xpath'/root/a/b/c/text()'/path/to/small.xml但是,这些XPath查询不适用于巨大的XML文件。一段时间后,我刚刚收到一条“被杀死”的消息。我尝试启用流式API,但这只会导致根本没有输出。xml

c - 为什么通过 XSD 进行的 XML 验证在 libxml2 中失败(但在 xmllint 中成功),我该如何解决?

如果我通过xmllint运行此XML验证:xmllint--noout--schemaschema.xsdtest.xml我收到此成功消息:.../test.xmlvalidates但是,如果我通过libxml2的CAPI运行相同的验证:intresult=xmlSchemaValidateDoc(...)我得到一个1845的返回值和这个失败消息:Element'{http://example.com/XMLSchema/1.0}foo':Nomatchingglobaldeclarationavailableforthevalidationroot.我完全无法理解。:(schema.

xmllint : how to validate an XML using a local DTD file

我有一个本地DTD文件test.dtd。内容是:]>我想使用xmllint验证XML。此XML中没有DOCTYPE:20150312如果我将DTDblock作为第二行插入到我的XML文件的副本中并使用:xmllint--valid--nooutmy2.xml但是当我尝试时:xmllint--loaddtdtest.dtd--valid--nooutmy.xmlxmllint--dtdvalidtest.dtd--nooutmy.xml两者都不行。输出是:test.dtd:1:parsererror:Contenterrorintheexternalsubset有什么想法吗?似乎我的XM

使用 XSD 时出现 xmllint 验证错误 "no DTD found"

我正在尝试使用xmllint检查我的工作,同时开发一个基本的XSD,即XMLSchema模式。但是它给我一个错误Validationfailed:noDTDfound.我做错了什么?我的xmllint命令:xmllint--noout--valid--schemasimple.xsdlucas-basic.xmllucas-basic.xml:5:validityerror:Validationfailed:noDTDfound!>^lucas-basic.xmlvalidates测试XSD文件:测试XML文件:BogHopperWeeBeastieCountZero位于xsi:noN

使用 RelaxNG 进行 XML 模式验证

对于性能和准确性,您可以推荐哪些XML验证工具,这两者都是我们系统的关键问题?我们有以下要求:不是xmllint(见下文)支持RelaxNG可以轻松地与Perl集成(这是可选的,但它会很好)为什么不用xmllint?(这是背景,喜欢的可以跳过)我们有一个大型Perl系统,它使用RelaxNG来验证我们的XML。我们使用compactRelaxNGformat和trang将其转换为标准的RelaxNG格式。然后我们通过xmllint进行实际验证.这就是问题的根源。xmllint通常会错误地报告验证错误。它不会给出误报或漏报,但如果文档验证失败,xmllint通常会针对给定错误报告错误的元

xml - curl 和 xmllint 管道

我尝试通过管道传递curl和xmllint来解析来自url的xml输出。但出于某种原因,xml不会解析xml,而是显示从curl生成的xml。我缺少设置?如果将curl操作的结果存储为文件并将其用作xmllint的输入,它会正确解析。curl--location--header"Accept:application/rdf+xml"http://www.test.com|xmllint--format---xpath'//title' 最佳答案 似乎xmllint要求-stdin重定向位于命令的末尾。curl--location--

xml - 获取 xmllint 以输出 xpath 结果\n-separated,用于属性选择器

如何让xmllint输出属性“每行”的xpath选择器的多个结果?举个例子:$xmllintexample.xml--xpath"/config/*/@*"结果是:key1="value1"key2="value2"key3="value3"key4="value4"我想得到的是:key1="value1"key2="value2"key3="value3"key4="value4"我是否需要在偶数引号后进行拆分,或者是否有更简洁的方法来执行此操作?有一个相关问题,aboutthesamesubject除了它是关于挑选value的内容,而不是 最佳答案

xml - native shell 命令集用于从 XML 中提取节点值

我正在尝试从pom.xml中提取节点的值:org.me.labsmy-random-project1.5.0...我需要使用shell命令从XML中提取artifactId和版本。我有以下要求/观察:shell脚本将在我们工作中使用的构建程序集文件中完成,因此脚本越小越好。由于它将在多个系统(通常是RHEL5)上使用,我正在寻找可以在默认图像上native运行的东西。像这样的标签可以出现在pom的其他地方,所以我不能简单地awk获取这些标签。我尝试了以下方法:xpath适用于我的Mac,但在RHEL机器上默认不可用。xmllint--xpath也类似,我猜它只适用于更高版本的xmlli

xml - 安装 xmllint

我需要帮助从这个网站安装xmllint:http://xmlsoft.org/sources/win32/特别是,我不确定我应该下载哪个文件-当我单击预编译Windows二进制文件的链接时,我会看到一个包含多个文件的列表,但我不确定如何继续。 最佳答案 我遇到了同样的问题,我花了两个小时才解决。从ftp://ftp.zlatkovic.com/libxml/下载iconv、libxml2、libxmlsec、zlib解压缩zip文件,然后将所有文件复制到每次下载的bin文件夹中。将文件粘贴到文件夹中(我的=XML)在路径系统变量中添