Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > XML, XSL > соответствие по нескольким элементам в Xpath


Автор: cru3l 15.6.2010, 02:20
Мне необходимо получить родительский элемент, если каждый из детей равен определенному значению, причем количество детей может быть разным
Т.е. если например такое значение =5, то в следующем xml
Код

<elements>
<a>
     <b>5</b>
     <b>6</b>
</a>
<a>
     <b>5</b>
     <b>5</b>
     <b>6</b>
</a>
<a>
     <b>5</b>
     <b>5</b>
     <b>5</b>
     <b>5</b>
</a>
</elements>


xpath запрос должен указать на a[3] - третий a. Интересно, собственно возможно ли сделать такой запрос на xpath, или придется дополнительно разбирать xml каким нибудь скриптовым языком, интуиция подсказывает что должно быть что-то вроде, такого

Код

//b[text()="5"]/..


только проверяющий КАЖДОГО из детей, а не поиск соответствия с любым из них


Автор: magelan 15.6.2010, 13:13
По какому-то значению - это легко:

Код

/a[ count( b[ text() = 5 ]) = count( b )]


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

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)