问题标签 [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.

0 投票
2 回答
21691 浏览

xml - curl 和 xmllint 管道

我尝试使用管道 curl 和 xmllint 来解析来自 url 的 xml 输出。但由于某种原因,xml 不会解析 xml,而是显示 curl 生成的 xml。我缺少一个设置?如果将 curl 操作的结果存储为文件并将其用作 xmllint 的输入,则它可以正确解析。

0 投票
1 回答
19782 浏览

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 文件。

0 投票
2 回答
10370 浏览

xml - 如何在 OSX 10.7.5 上安装最新版本的 xmllint

问题是我正在尝试使用 xmllint 验证 xml 文件。在我的机器(OSX 10f.7.5)上,它说 xml 无效。当一个同事在他的机器上尝试它时,它说它是有效的。我不确定他运行的是什么版本的 OSX,但我知道我的 xmllint 版本是

他的版本是

所以问题是我如何在我的机器上构建那个版本(或最新版本)?

0 投票
1 回答
4290 浏览

bash - 将目录中的所有 XML 文件格式化并保存在子目录中

我正在尝试编写一个脚本,该脚本将浏览一个目录,找到所有 XML 文件,运行它们xmllint,并将格式化的结果保存到名为formatted. 这是我到目前为止的脚本:

这在一定程度上有效。子目录以一个名为 的文件结束"{}",它只是通过 处理的最终文件的结果xmllint。如何让文件正确写入子目录?

0 投票
2 回答
4930 浏览

xml - 选择一个 xml 元素,忽略元素名称,打印换行符

我想选择第一个元素,但在输出中忽略它的名称。

url在从每个输入 xml 文件中请求第一个元素之后,这就是我得到的:

但这是我想要的:

<url>请注意,这个想法是从每个输入 Yandex.XML(ЯFeel Lucky)中选择第一个元素的值。

我如何用 xpath 做到这一点?

0 投票
1 回答
223 浏览

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最初匹配的标志)。

0 投票
4 回答
25347 浏览

xml - 如何在 Linux 中格式化 XML 文档

我有大量的 XML 标签。

我想按以下方式格式化。我曾尝试使用 xmllint,但它对我不起作用。请提供帮助。

0 投票
1 回答
6010 浏览

bash - 如何使用 xmllint 解析 xml 并存储在数组中

在 shell 脚本中,我有一个 xml 文件作为 p.xml,如下所示,我想解析它并获取两个数组中的值。我正在尝试使用 xmllint,但无法获得所需的数据。

我想获得一个包含所有共享 ID 的数组和一个包含共享名称的数组。所以两个数组就像

我开始如下:

这给了我

任何帮助建立这两个阵列将不胜感激。

0 投票
3 回答
10441 浏览

html - 将 xmllint 和 xpath 用于不完美的 HTML 文档?

我有一个由现有工具生成的 HTML 页面 - 我无法更改此工具的输出。

但是,我想使用xmllint--xpath选项从下载的网页中挑选出一些特定的信息。问题是页面以:

<html lang=en><head>...

xmllint几乎立即抛出错误:

lang问题当然似乎是属性值周围缺少引号。整个页面充满了这种问题。(虽然只是偶尔。)

几乎每个浏览器都可以很好地解析这个 - 我怎样才能说服xmllint这样做呢?我想避免注入一个中间步骤来“修复”文件。相反,我想:

1) 找到有助于解析器的标志、验证选项等,或者:

2)使用其他工具。(但是什么?xmllint一直是我使用命令行 XPath 命令的首选。)

此外,使用 justxpath会导致:

0 投票
1 回答
348 浏览

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 提交错误吗?

也许同时我的问题还有另一种解决方案
我希望“活动”标签是唯一的,并在这样的结构中忽略非活动标签:

问候,伊曼纽尔。