我有一个像这样的 XML 文件:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<List>
<Job id="1" name="John/>
<Job id="2" name="Zack"/>
<Job id="3" name="Bob"/>
</List>
我想创建一个 bash 脚本,从特定名称中提取 ID 号。例如,请求 John 将输出 1。我有什么办法可以做到这一点吗?
最佳答案
解析 XML 文件时,请使用理解 xml 的工具。您可以使用 xmlstarlet
:
例如说:
xmlstarlet sel -t -v "/List/Job[@name=\"John\"]/@id" file.xml
会产生
1
顺便说一句,您的输入格式不正确。您缺少引号
<Job id="1" name="John/>
应该是
<Job id="1" name="John"/>
关于xml - 创建 Bash 脚本以从 XML 文件检索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21495533/