问题标签 [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.
xml - 与 xmlstarlet 苦苦挣扎
我有一个非常简单的 XML 文件,需要用 xmlstarlet 解析(我在 Windows 下):
假设我想检索 CtrlSum 元素;当我尝试时它失败了
但是,如果我从文件中删除 xmlns 和 xmlns:xsi 属性,它就可以工作(但在现实生活中我不能这样做)。我知道我必须使用 -N 选项,但我不知道该怎么做。任何帮助都将非常有价值。
非常感谢 Laurent(或 Lawrence,或 Larry :))
bash - 解析 pom.xml 时如何让 XMLStarlet 提取多个开发人员角色?
我正在用一个奇怪的层次结构中的 bash 脚本解析数百个 pom,以将所有项目的概述提取到一个报告中(maven-info-projects:project-team 不能一次性完成的事情)。由于未公开的原因,我不想弄乱父 pom 或尝试配置 maven-info-projects 部分。
我正在使用XMLStarlet,因为它已安装,而xmllint未安装。
给定一个 pom.xml 提取,其中包含:
如何通过一次调用XMLStarlet来提取所有开发人员信息,包括多个角色?
目前,我可以通过以下方式提取大部分信息:
在哪里
然后我拆分结果:
问题是,具有多个角色的开发人员将他们的角色连接起来:
有没有办法告诉对 xmlstarlet 的原始调用将多个角色组合成一个逗号分隔的列表?
xml - 将 xml 转换为键值对表示法
我xmlstarlet el -v
用来显示一个xml文件的结构,包括所有的属性和值。我想将其输出转换为某种键值对,即每个属性的值在单独的行上(包括 XPath);每行必须是唯一的。
当前结果:
期望的结果(可以是任何类似的东西;索引只是一个想法):
我想要完成的是能够运行diff
两个这样的文件或grep
用于过滤匹配模式。我确信有一种方法可以创建这样的输出,而无需使用sed
,awk
或除xmlstarlet
自身之外的任何其他东西。
关于 xmlstarlet 和整个 xml 世界,我几乎是一个新手(不仅因为我不喜欢 xml,因为它的复杂性和解析开销等),所以我非常感谢你的帮助。谢谢!
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 的错误还是我的错?
xpath - 评估 XPath 2.0 表达式的程序/工具
xmlstarlet 可用于评估 xpath 1.0 表达式。但它不支持 XPath 2.0 表达式。可以使用什么程序/工具来评估 XPath 2.0 表达式?最好用 C 写的东西?很像 xmlstarlet?
感谢期待。
xml - 通过命令行解析 XML
因此,我有一个 XML 文件,我想使用 xmlstarlet 使用 BASH 脚本等进行解析(或者如果人们可以给我一个示例,则可以使用另一种方法)。
基本结构是这样的:
那里还有其他一些字段,含义和读数可能会发生变化。基本上我想得到所有的读数、含义、笔划数等,并用 BASH 生成一个 HTML 表。
这也是一个包含许多需要查找的字符的大文件。所以我想用一个脚本来做这个,它接受一个 $1 并使用它来查找基于标签的值。所以理想情况下是:
然后根据内容生成一个html表格。
想法?(我也愿意使用像 xpath 这样的另一个程序)
xml - xmlstarlet - 删除换行符
我有以下文件log.xml
:
在使用 xmlstarlet 1.0.1 的 CentOS 5.4 上,如果我运行以下命令,同时删除换行符message
:
结果是:
在使用 xmlstarlet 的 CentOS 6 上:
我会收到:
注意“和”转换为空。我想这不是 xmlstarlet 的问题,而是 libxslt 的一些变化。
任何想法如何解决它?
更新
添加了将字母“a”转换为空的问题。
xml - xmlstarlet 更新值没有任何反应
我有一个xml文件
如何更新值 dbUser?
当我输入
什么都没发生。我只在终端中看到文件内容。xml文件没有被触及。
xml - 删除一个元素,但将内容保留在 xmlstarlet 的父元素中
我正在使用 xmlstarlet 并希望转换这种类型的元素:
到:
这在 xmlstarlet 中可能吗?
任何帮助是极大的赞赏!
谢谢,
拉斯
xml - 计算 XML 中 <> 标记之间的字符数
我不是 Linux 的经验丰富的用户并且有一个大问题。我需要计算 XML 文件 exept 标记中的所有字符。
例如
我的输出应该返回 4 或 Text。我试图弄清楚
xmlstarlet
程序,但即使阅读手册后我也无法使用它。
感谢您的任何建议