2016-09-22 93 views
1

我想在我的XML,選擇部分的唯一名稱時,ID = 1Xmlstarlet條件選擇

這是一個XML例子:

<Raiz> 
    <section name="name1" id="1"> 
     <entry title="title1"/> 
    </section> 
    <section name="name2 id="2"> 
     <entry title="title2"/> 
    </section> 
    <section name="name3" id="3"> 
     <entry title="title3"/> 
    </section> 
</Raiz> 

我要選擇的節名時ID = 1

林與

xmlstarlet sel -t -v "/Raiz/section/@name" -i id=1 file.xml 

試圖
xmlstarlet sel -t -v "/Raiz/section/@name" -i [@id=1] file.xml 
xmlstarlet sel -t -v "/Raiz/section/@name" -i "id=1" file.xml 
xmlstarlet sel -t -v "/Raiz/section/@name" -i @id=1 file.xml 

但輸出始終是:

name1 
name2 
name3 

如何我只能選擇NAME1?

回答

0

您可以嘗試使用XPath謂詞表達式過濾<section>元素通過id屬性值:

xmlstarlet sel -t -v "/Raiz/section[@id=1]/@name" file.xml 
+0

感謝har07,工作!!!!! – Goncatin