让我说我有这个xml:
<Root>
<Node size="Foo" />
<Root>
为了获取属性的值,我运行以下命令:
echo "<Root><Node size='foo' /></Root>" | xmllint -xpath "/Root/Node/@size" -
(注意最后的-
)
这将返回foo
。
现在我的问题是如何让xmllint返回Node
元素的名称?
我尝试过:
echo "<Root><Node size='foo' /></Root>" | xmllint -xpath "/Root/Node/name()" -
但这似乎不起作用。
答案 0 :(得分:1)
您正在使用的XPath需要XPath 2.0,而xmllint仅支持XPath 1.0。
将XPath更改为此XPath 1.0表达式,
name(/Root/Node)
您将按要求回显所选节点的名称Node
。