使用xmllint提取INFOBLOX XML中ipv4addr时XPath集为空的问题
解决xmllint提取XML中内容的问题
问题原因
你使用的XPath表达式//ipv4addr/value/text()有误,因为<ipv4addr>标签本身直接包含IP文本内容,并没有名为<value>的子标签,导致XPath无法匹配到目标内容,因此返回“XPath set is empty”。
正确命令
使用以下命令即可提取目标IP地址:
cat test.xml | xmllint --xpath "//ipv4addr/text()" -
也可以用简化写法(xmllint匹配元素时默认会输出其文本内容):
cat test.xml | xmllint --xpath "//ipv4addr" -
执行结果
运行上述命令后,会输出预期的IP:
10.236.227.110
内容的提问来源于stack exchange,提问作者Bruce Ferjulian
相关产品推荐
相关产品推荐

