使用 Bash 检索元素标记值 XML
Retrieve Element Tag Value XML Using Bash
有没有一种方法可以通过 bash 脚本检索 XML 中元素(或标签)的值?
例如,如果我有下面的 XML,我想检索元素,这样当我 运行 命令时,它只是 returns "tag1" 而不是任何其他标签中的任何内容。例如,如果我想检索 valueTag3 内容,我知道我可以使用 xmllint
,但这不是我想要做的。
<tag1>
<tag2>
<tag3>valueTag3</tag3>
</tag2>
</tag1>
如果以上可行(无论是否使用 xmllint
),有没有一种方法可以指定我想要 return 其父标签的子标签?例如,如果我想 return "tag2"(上面 tag1 的子项),命令是什么?
参见 XPath 语法:
xmllint -xpath 'name(/tag1/tag2/*)' xmlsource
有没有一种方法可以通过 bash 脚本检索 XML 中元素(或标签)的值?
例如,如果我有下面的 XML,我想检索元素,这样当我 运行 命令时,它只是 returns "tag1" 而不是任何其他标签中的任何内容。例如,如果我想检索 valueTag3 内容,我知道我可以使用 xmllint
,但这不是我想要做的。
<tag1>
<tag2>
<tag3>valueTag3</tag3>
</tag2>
</tag1>
如果以上可行(无论是否使用 xmllint
),有没有一种方法可以指定我想要 return 其父标签的子标签?例如,如果我想 return "tag2"(上面 tag1 的子项),命令是什么?
参见 XPath 语法:
xmllint -xpath 'name(/tag1/tag2/*)' xmlsource