2013-12-19 7 views
0

Учитывая этот простой XML:выберите Атрибут значением

<root> 
    <child id="foo" /> 
    <child id="bar" /> 
</root> 

Я хочу, чтобы выбрать атрибут со значением = Foo. Этот xpath работает: root/child[@id='foo']/@id, но кажется, что должен быть способ сделать то же самое без избыточного указания имени атрибута. Является ли это возможным?

Я видел много дискуссий о поиске элемента с использованием значения атрибута; но в этом случае я хочу вернуть сам атрибут.

ответ

0

Как насчет

root/child/@id[. = 'foo'] 

Точка означает текущий узел, он не обязательно должен быть элемент.

+0

Именно это я и искал. Я думал, что это будет что-то простое. Как только я знал, что искать, я быстро нашел: [xpath-пунктуация] (http://developer.marklogic.com/blog/xpath-punctuation-part-1). Благодарю. – jaco0646

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