2015-06-29 5 views
1

Мне нужен синтаксис XPath (для использования в simplexml) для поиска содержимого элемента LayoutPosNo, который точно соответствует, скажем, числу 1001 и возвращает текст в элементе sibling Descrip. LayoutPosNo все уникальны, поэтому мне нужен только первый матч.Выбрать узел на основе значения sibling

Вот структура XML:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<data-set xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
    <record> 
     <LayoutPosNo>10</LayoutPosNo> 
     <Descrip>This is the red room</Descrip> 
    </record> 
    <record> 
     <LayoutPosNo>993</LayoutPosNo> 
     <Descrip>This is the yellow room</Descrip> 
    </record> 
    <record> 
     <LayoutPosNo>1001</LayoutPosNo> 
     <Descrip>This is the purple room</Descrip> 
    </record> 
</data-set> 

ответ

1

Следующая XPath

/data-set/record[LayoutPosNo = 1001]/Descrip/text() 

подберет

This is the purple room 

по запросу.

+0

Отлично. Спасибо. – user3171288