问题标签 [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 投票
1 回答
909 浏览

copy - XmlStarlet 可以在复制期间保留 CDATA 吗?

使用复制时如何使 XmlStarlet 保留 CDATA?<![CDATA[ ]]>必须维护,因为生成(和使用)数据的应用程序坚持使用 CDATA 指令围绕某些数据。

示例.xml

使用命令;

生成应用程序无法处理的数据,因为<![CDATA[ ]]>已从'SCRAP'周围删除;

0 投票
1 回答
5424 浏览

xml - 根据树中另一个元素的值更改 XML 元素的值

我有一个非常大的(100 多兆字节未压缩)XML 文件来存储数据集,我正在尝试有选择地更改一些值。

例如,saysample.xml看起来像这样:

现在我想将 的值更改<constant1>为 18,但仅限Name于其元素具有 value的对象Foo。我一直在查看 XML Starlet 文档,但其关于编辑的文章仅包含有关如何直接在树中查找元素属性的示例,除非我遗漏了一些东西......

0 投票
1 回答
3530 浏览

xml - 使用 xmlstarlet 更新属性值

我想使用 xmlstarlet 修改 xml 文件的值(我知道如何使用 grep 或 sed 修改行,但我想学习 xmlstarlet)。

我正在查看官方文档(http://xmlstar.sourceforge.net/doc/UG/xmlstarlet-ug.html),但我对 xml 结构完全是个灾难。

我想在这里修改值:

这是我尝试过的命令,但输出与输入值相同:

这是 XML 文件:

0 投票
2 回答
181 浏览

xpath - 在里面打印文字....

我需要pom.xml在目录树的许多中列出这两个元素中的文本。这些文件也可能包含其他地方的元素,我只是在寻找这两个的内容。

理想情况下,我正在寻找一种以格式输出的工具<file-name>:<line-no>:<path>:<text>,例如

对于以下输入文件:

请注意,其他路径如dependencyManagement/dependencies/dependency/groupId不包括在内。

在 SO 上搜索时,我遇到了xmllint --xpathxmlstarlet 但我对 xpath 的了解不够,无法自己解决。

0 投票
1 回答
1154 浏览

xml - 为什么这个 XPath 表达式在 xmlstarlet 中没有返回正确的值?

我正在尝试使用 xmlstarlet 提取此 KML 文件中的“坐标”节点的内容。

KML 文件使用 xmlstarlet 本身可以很好地验证。

我已将其缩减为一个包含以下内容的小测试文件:

但运行此查询失败:

这似乎使用在线路径工具正确解析 - http://www.qutoric.com/xslt/analyser/xpathtool.html

我在这里错过了什么吗?

0 投票
3 回答
2448 浏览

xml - 如何使用 DTD 为 xml 中的属性设置默认值?

如何在 xml 中设置属性的默认值。考虑下面的 test.xml。已为元素“to”定义了具有默认值“male”的属性“gender”。但是,我无法使用 xmlstarlet 检索它。难道我做错了什么?请帮忙。

xmlstarlet cmd:(不向标准输出打印任何内容)

0 投票
1 回答
1049 浏览

element - 移除来自 kml 文件 Google My Tracks 的时间戳元素

我一直在使用 Android 上的 Google“我的曲目”并将曲目导入 Google 地球。当我这样做时,我会在顶部看到时间栏,并且赛道会在你驾驶它时播放,就像你的赛道动画一样。我想删除该曲目的时间方面以及您在该曲目中所做的点的时间方面。

我进入 KML 文件,发现每个点都有一个时间戳。我一直在尝试首先使用以下方法删除负责实际轨道时间方面的元素:

至于地标,如果我能修正语法,我会假设这个过程是相似的。任何帮助将不胜感激。

Kml 结构如下,该元素是我要删除的元素,不确定 Google 地球是否会对那里没有元素或只是让它为空白感到满意。

0 投票
2 回答
1416 浏览

bash - bash 将参数传递给 xml ed

在 bash 脚本中,我想将参数传递给 xmlstarlet 工具的 xml ed 命令。这是脚本:

为什么第一次调用有效,即它给出了预期的结果:

虽然第二个电话不起作用,但它给出了:

0 投票
1 回答
230 浏览

bash - 如何分隔 select starlet xml 命令的输出文件的条目?

我使用 starlet xml 从 pom.xml 中查找一些 artifactIds,并将输出重定向到一个临时文件,以便以后可以使用这些条目创建一个数组。问题是临时文件中的条目就像一个单词并且它们没有分开,当我创建数组时,例如长度是 1 而不是 3。我写的代码是:

结果例如:

但我想成为:

如何为临时设置字段分隔符?因为只要临时文件将它们作为一个条目,我的数组的长度也将是 1.. 我需要使用 bash 脚本来完成。

先感谢您!

0 投票
1 回答
165 浏览

xml - XML starlet,怎么做相当于一个“join”?

我有一个 XML 文件,可以这样总结

而且我想找到打印货船和双体船的 xml starlet 命令,但基于它们的键与查找键匹配的事实(不是基于我事先知道它们的键是船的事实)。