如果我使用XPATH选择了一个元素,如何获取其名称?我的意思是像
//element/[@id=elid]/text()
中的text()
函数一样。//element/[@id=elid]/text()
中的text()
函数一样。使用name()
命令。(在此处查找新版本XPath语言的文档here。)
这是您示例的修改版本:
仅适用于XPath 2.0+:
//element/*[@id='elid']/name()
适用于XPath 1.0和2.0+*:
name(//element/*[@id='elid'])
//element/*[@id='elid']
必须只返回一个元素。否则,您将会收到类似于A sequence of more than one item is not allowed as the first argument of fn:name()
的错误信息。local-name()
,它返回expanded name的本地部分(不带任何命名空间前缀)。可以通过以下方式获取标签名称树:
echo "du //Element/*" | xmllint --shell response-02.xml
Ele1
id
name
Nested1
id
name
Ele2