使用xmlstarlet / xpath,如何获取某个节点的所有子元素的名称?例如,我想获取/a
<a>
<b><c/></b>
<d/>
</a>
应该返回:
b
d
我试过
xmlstarlet sel -t -c 'name(/a/*)' -
但这只给了我b
答案 0 :(得分:3)
我不认为XPath 1.0表达式可以做到这一点,您需要XPath 2.0 /a/*/name()
(我不认为xmlstarlet支持)或者您需要使用XSLT或尝试使用尝试模仿XSLT的xmlstarlet命令行选项。根据{{3}}您可以尝试
xmlstarlet sel -t -m "/a/*" -v "name()"
未测试。