2016-09-22 6 views
1

Я пытаюсь выбрать в моем XML только имя раздела, когда идентификатор = 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

Im пытается с

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

Смежные вопросы