2016-11-24 53 views
0

我有以下XML:跳過具有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 /[email protected] xmllint etc... 

但在我的應用程序finalType可以在Type1或Type2中! ,所以我在尋找類似的東西

echo //root/***/finalType /[email protected] xmllint etc... 

但遺憾的是它不工作.. 你有什麼想法如何「跳過」了的Type1和Type2 ...?

回答

1

只需使用雙斜線(或descendant::):

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

謝謝你的工作! – psykoblast