Xpath 如何使用xmllint通过另一个属性获取属性值
我有一个XML文档,如下所示:Xpath 如何使用xmllint通过另一个属性获取属性值,xpath,xmllint,Xpath,Xmllint,我有一个XML文档,如下所示: <items> <item id="1" name="CP_09550"/> <item id="2" name="CP_09551"/> <item id="3" name="CP_09552"/> </items> 如何在xmllint中获取带有ex:cp09550的name参数的id值 谢谢此XPath提取想要的ID: /items/item[@name='CP_09550']/@
<items>
<item id="1" name="CP_09550"/>
<item id="2" name="CP_09551"/>
<item id="3" name="CP_09552"/>
</items>
如何在xmllint中获取带有ex:cp09550
的name参数的id值
谢谢此XPath提取想要的ID:
/items/item[@name='CP_09550']/@id
如果在xmllint中从提示符处执行此命令,则需要转义引号:
xmllint --xpath /items/item[@name=\'CP_09550\']/@id test.xml
要获取值,请将XPath表达式包装成
字符串(…)
或数字(…)
函数调用:
xmllint --xpath 'string(/items/item[@name="CP_09550"]/@id)' test.xml
这将准确地返回
1
,因此无需在脚本中进一步处理输出。最好引用XPath表达式:xmllint--XPath'/items/item[@name=“CP_09550”]/@id”test.xml
。如果在items之前有数量可变的元素,该怎么办?对不起,我不明白你的问题。最好提出一个新的问题(如果这是类似的),并添加示例输入和预期输出。如果你在这里添加一个链接,我会看一看。