使用xmllint跳过XML元素

时间:2016-11-24 16:37:17

标签: xml shell xmllint

我有以下XML:

<root>
  <Type1 name="">
    <Type2 name="">
      <Type3 name="">
        <finalType name="">
          <element value=""/>
        </finalType>
      </Type3>
    </Type2>
  </Type1>
</root>

我想在<finalType>中达到元素的值,通常我会写:

echo //root/Type1/Type2/Type3/finalType /element@  xmllint etc...

但在我的应用程序中,finalType可以是Type1或Type2! ,所以我正在寻找类似的东西

echo //root/***/finalType /element@  xmllint etc...

但不幸的是它不起作用..  你有任何想法如何“跳过”Type1,Type2 ......?

1 个答案:

答案 0 :(得分:1)

只需使用双斜杠(或descendant::):

echo ls /root//element            | xmllint --shell file.xml
echo ls /root/descendant::element | xmllint --shell file.xml