使用 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