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

时间:2014-02-27 14:42:05

标签: 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:CP_09550的name参数的id值?

由于

2 个答案:

答案 0 :(得分:3)

要获取值,请将XPath表达式包装到string(...)number(...)函数调用中:

xmllint --xpath 'string(/items/item[@name="CP_09550"]/@id)' test.xml

这将完全返回1,因此无需在脚本中进一步处理输出。

答案 1 :(得分:1)

此XPath提取所需的ID:

/items/item[@name='CP_09550']/@id

如果我在提示符中的xmllint中执行此操作,我需要转义引号:

xmllint --xpath /items/item[@name=\'CP_09550\']/@id test.xml