xml - 如何使用 shell 脚本从 xml 文件中提取值?
问题描述
我有这个 xml 文件。
<body>
<part1>
<para1>abc</para1>
<para2>def</para2>
<ver>1234</ver>
</part1>
</body>
我需要将ver
ie给出的值存储1234
在一个变量中。
解决方案
不同的选择:
- 使用
xmlstarlet
:
ver=$(xmlstarlet sel -t -m //ver -v . test.xml)
- 使用
xmllint
(另请参阅从 XML 中提取节点值的 Native shell 命令集:
ver=$(xmllint --xpath "//ver/text()" test.xml)
- 使用
gawk
:
ver=$(gawk -F "[><]" '/<ver>/{ print $3 }' test.xml)
推荐阅读
- python - 直接从 Flask 服务上传到 Minio
- java - RestAssured - 如何从 json 响应中读取数组元素
- mysql - FDQuery和OnCalcFields,获取上一行
- java - 如何检查哪个线程当前正在锁定静态变量
- python-2.7 - 目录和文件的 Python 递归到 5 个级别
- java - 如何通过单击另一个类的按钮来执行该方法?
- c# - 使用 XlLineStyle 作为对象 C#
- datetime - Elasticsearch如何在日期时间字段中按时间搜索
- flutter - 在 pubspec.yaml 中更改应用名称会导致导入错误
- python - 在python中的两个函数之间共享数据