问题标签 [xmlstarlet]

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 回答
2106 浏览

xml - 与 xmlstarlet 苦苦挣扎

我有一个非常简单的 XML 文件,需要用 xmlstarlet 解析(我在 Windows 下):

假设我想检索 CtrlSum 元素;当我尝试时它失败了

但是,如果我从文件中删除 xmlns 和 xmlns:xsi 属性,它就可以工作(但在现实生活中我不能这样做)。我知道我必须使用 -N 选项,但我不知道该怎么做。任何帮助都将非常有价值。

非常感谢 Laurent(或 Lawrence,或 Larry :))

0 投票
2 回答
1624 浏览

bash - 解析 pom.xml 时如何让 XMLStarlet 提取多个开发人员角色?

我正在用一个奇怪的层次结构中的 bash 脚本解析数百个 pom,以将所有项目的概述提取到一个报告中(maven-info-projects:project-team 不能一次性完成的事情)。由于未公开的原因,我不想弄乱父 pom 或尝试配置 maven-info-projects 部分。

我正在使用XMLStarlet,因为它已安装,而xmllint未安装。

给定一个 pom.xml 提取,其中包含:

如何通过一次调用XMLStarlet来提取所有开发人员信息,包括多个角色?

目前,我可以通过以下方式提取大部分信息:

在哪里

然后我拆分结果:

问题是,具有多个角色的开发人员将他们的角色连接起来:

有没有办法告诉对 xmlstarlet 的原始调用将多个角色组合成一个逗号分隔的列表?

0 投票
2 回答
5505 浏览

xml - 将 xml 转换为键值对表示法

xmlstarlet el -v用来显示一个xml文件的结构,包括所有的属性和值。我想将其输出转换为某种键值对,即每个属性的值在单独的行上(包括 XPath);每行必须是唯一的。

当前结果:

期望的结果(可以是任何类似的东西;索引只是一个想法):

我想要完成的是能够运行diff两个这样的文件或grep用于过滤匹配模式。我确信有一种方法可以创建这样的输出,而无需使用sedawk或除xmlstarlet自身之外的任何其他东西。

关于 xmlstarlet 和整个 xml 世界,我几乎是一个新手(不仅因为我不喜欢 xml,因为它的复杂性和解析开销等),所以我非常感谢你的帮助。谢谢!

0 投票
1 回答
167 浏览

xpath - xmlstarlet sel 首先连接两个 - 是错误还是我在 CLI 中的错误

我试图从content.opf文件的清单部分获取 bash 元素。

我确实使用 xmlstarlet sel -N "dc=http://purl.org/dc/elements/1.1/" -N "opf=http://www.idpf.org/2007/opf" -t -v 'opf:package/opf:manifest/opf:item/@href' content.opf 并将列表中的前两个结果连接为一个元素。

是 xmlstarlet 的错误还是我的错?

0 投票
2 回答
258 浏览

xpath - 评估 XPath 2.0 表达式的程序/工具

xmlstarlet 可用于评估 xpath 1.0 表达式。但它不支持 XPath 2.0 表达式。可以使用什么程序/工具来评估 XPath 2.0 表达式?最好用 C 写的东西?很像 xmlstarlet?

感谢期待。

0 投票
2 回答
2002 浏览

xml - 通过命令行解析 XML

因此,我有一个 XML 文件,我想使用 xmlstarlet 使用 BASH 脚本等进行解析(或者如果人们可以给我一个示例,则可以使用另一种方法)。

基本结构是这样的:

那里还有其他一些字段,含义和读数可能会发生变化。基本上我想得到所有的读数、含义、笔划数等,并用 BASH 生成一个 HTML 表。

这也是一个包含许多需要查找的字符的大文件。所以我想用一个脚本来做这个,它接受一个 $1 并使用它来查找基于标签的值。所以理想情况下是:

然后根据内容生成一个html表格。

想法?(我也愿意使用像 xpath 这样的另一个程序)

0 投票
3 回答
2446 浏览

xml - xmlstarlet - 删除换行符

我有以下文件log.xml

在使用 xmlstarlet 1.0.1 的 CentOS 5.4 上,如果我运行以下命令,同时删除换行符message

结果是:

在使用 xmlstarlet 的 CentOS 6 上:

我会收到:

注意“和”转换为空。我想这不是 xmlstarlet 的问题,而是 libxslt 的一些变化。

任何想法如何解决它?

更新

添加了将字母“a”转换为空的问题。

0 投票
1 回答
5626 浏览

xml - xmlstarlet 更新值没有任何反应

我有一个xml文件

如何更新值 dbUser?

当我输入

什么都没发生。我只在终端中看到文件内容。xml文件没有被触及。

0 投票
1 回答
536 浏览

xml - 删除一个元素,但将内容保留在 xmlstarlet 的父元素中

我正在使用 xmlstarlet 并希望转换这种类型的元素:

到:

这在 xmlstarlet 中可能吗?

任何帮助是极大的赞赏!

谢谢,

拉斯

0 投票
1 回答
788 浏览

xml - 计算 XML 中 <> 标记之间的字符数

我不是 Linux 的经验丰富的用户并且有一个大问题。我需要计算 XML 文件 exept 标记中的所有字符。

例如

我的输出应该返回 4 或 Text。我试图弄清楚

xmlstarlet

程序,但即使阅读手册后我也无法使用它。

感谢您的任何建议