问题标签 [xmllint]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
xml - curl 和 xmllint 管道
我尝试使用管道 curl 和 xmllint 来解析来自 url 的 xml 输出。但由于某种原因,xml 不会解析 xml,而是显示 curl 生成的 xml。我缺少一个设置?如果将 curl 操作的结果存储为文件并将其用作 xmllint 的输入,则它可以正确解析。
xmllint - 如何让 Xmllint 从标准输入读取?
- 我不想创建 XML 文件
- 我需要使用 --shell 和 cat 来创建过滤器
我的 xmllint 版本中没有 xpath,使用
libxml2-2.7.6-14.el6.x86_64
xml|xmllint --shell - <<< $(echo 'cat /')
-:1: parser error : Start tag expected, '<' not found
编辑:clustat -x
输出一个 XML 文件,我想解析出活动节点。我认为没有 xpath 就没有办法做到这一点,所以我创建了一个临时 xml 文件。
xml - 如何在 OSX 10.7.5 上安装最新版本的 xmllint
问题是我正在尝试使用 xmllint 验证 xml 文件。在我的机器(OSX 10f.7.5)上,它说 xml 无效。当一个同事在他的机器上尝试它时,它说它是有效的。我不确定他运行的是什么版本的 OSX,但我知道我的 xmllint 版本是
他的版本是
所以问题是我如何在我的机器上构建那个版本(或最新版本)?
bash - 将目录中的所有 XML 文件格式化并保存在子目录中
我正在尝试编写一个脚本,该脚本将浏览一个目录,找到所有 XML 文件,运行它们xmllint
,并将格式化的结果保存到名为formatted
. 这是我到目前为止的脚本:
这在一定程度上有效。子目录以一个名为 的文件结束"{}"
,它只是通过 处理的最终文件的结果xmllint
。如何让文件正确写入子目录?
xml - 选择一个 xml 元素,忽略元素名称,打印换行符
我想选择第一个元素,但在输出中忽略它的名称。
url
在从每个输入 xml 文件中请求第一个元素之后,这就是我得到的:
但这是我想要的:
<url>
请注意,这个想法是从每个输入 Yandex.XML(ЯFeel Lucky)中选择第一个元素的值。
我如何用 xpath 做到这一点?
xml - 仅当不相关元素为值时才打印 xml 元素
我有一堆带有搜索结果的 Yandex.XML 文件。 http://api.yandex.com/xml/doc/dg/concepts/response.xml
我想找出//yandexsearch/request/query
所有此类 XML 文件的查询 (),其中第一个 URL ( (//yandexsearch/response/results/grouping/group/doc/url)[1]
) 等于某个值(例如,http://www.example.org/
)。
与grep
_ -l
_ xargs xmllint
_ xmllint
_发现xmllint
有一个类似于-l
最初匹配的标志)。
xml - 如何在 Linux 中格式化 XML 文档
我有大量的 XML 标签。
我想按以下方式格式化。我曾尝试使用 xmllint,但它对我不起作用。请提供帮助。
bash - 如何使用 xmllint 解析 xml 并存储在数组中
在 shell 脚本中,我有一个 xml 文件作为 p.xml,如下所示,我想解析它并获取两个数组中的值。我正在尝试使用 xmllint,但无法获得所需的数据。
我想获得一个包含所有共享 ID 的数组和一个包含共享名称的数组。所以两个数组就像
我开始如下:
这给了我
任何帮助建立这两个阵列将不胜感激。
html - 将 xmllint 和 xpath 用于不完美的 HTML 文档?
我有一个由现有工具生成的 HTML 页面 - 我无法更改此工具的输出。
但是,我想使用xmllint
该--xpath
选项从下载的网页中挑选出一些特定的信息。问题是页面以:
<html lang=en><head>...
并xmllint
几乎立即抛出错误:
lang
问题当然似乎是属性值周围缺少引号。整个页面充满了这种问题。(虽然只是偶尔。)
几乎每个浏览器都可以很好地解析这个 - 我怎样才能说服xmllint
这样做呢?我想避免注入一个中间步骤来“修复”文件。相反,我想:
1) 找到有助于解析器的标志、验证选项等,或者:
2)使用其他工具。(但是什么?xmllint
一直是我使用命令行 XPath 命令的首选。)
此外,使用 justxpath
会导致:
xpath - xmllint xsd:选择器 xpath 行为不同于 --xpath 或 --shell
命令:
xmllint myfile.xml --xpath 'MapField2Data[@country="FR"]/*[@active!="false" or not(@active) ]'对我的 xml 结构
按预期工作
但是尝试在 xsd 中使用它,它无法编译:
xmllint --loaddtd --noout --noent --xinclude --schema xsd/pnsConf.xsd pnsConf.xml
xsd/pnsConf.xsd:75:元素选择器:模式解析器错误:元素'{ http://www.w3. org/2001/XMLSchema }selector,属性 'xpath':无法编译 XPath 表达式 'MapField2Data[@country="FR"]/*[@active!="false" or not(@active)]'。
我的xsd有一个合适的
在这两种情况下,像“MapField2Data/*”这样更简单的 xpath 都可以正常工作。
这看起来像是 xmllint 或 libxml2 中的错误或缺失功能。
我应该在 gnome bugzilla 上为 xmllint 提交错误吗?
也许同时我的问题还有另一种解决方案?
我希望“活动”标签是唯一的,并在这样的结构中忽略非活动标签:
问候,伊曼纽尔。