Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xpath 如何使用xmllint通过另一个属性获取属性值_Xpath_Xmllint - Fatal编程技术网

Xpath 如何使用xmllint通过另一个属性获取属性值

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']/@

我有一个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']/@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之前有数量可变的元素,该怎么办?对不起,我不明白你的问题。最好提出一个新的问题(如果这是类似的),并添加示例输入和预期输出。如果你在这里添加一个链接,我会看一看。