2016-06-27 4 views
0

Я пытаюсь найти файл XML.XPath - возвращаемый элемент по значению его дочернего элемента

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

E.G.

<homes> 
    <home> 
     <rooms>2</rooms> 
     <garden>yes</garden> 
    </home> 
    <home> 
     <rooms>4</rooms> 
     <garden>no</garden> 
    </home> 
</homes> 

Я использовал CURL для получения содержимого XML-файла. Далее, я делаю это:

$xml = simplexml_load_string($curl_contents); // curl contents are that above. 

Теперь, вот как я ищу дом (ы) с 4 номера:

$homes = $xml->xpath("//homes/home/rooms[.='4']"); 

$homes содержит только значения <rooms> элемента, из домов, имеют 4 комнаты.

... Принимая во внимание, что я хочу вернуть весь элемент (ы) дома, который имеет 4 комнаты.

Как изменить свой запрос, чтобы сделать это, пожалуйста? Благодарю.

+1

'// дома/дома [комнаты = '4']' – splash58

+0

Спасибо, что это все! –

ответ

0

Кратчайший XPath является:

//home[rooms=4] 
Смежные вопросы