Голова болит на этом, так что кто-то может бросить мне линию?Головная боль XPath, найти узлы с атрибутами между диапазоном
XML, как так (не реальные вещи, но это пример для наглядности):
<root>
<groups name="A">
<entry from="1" to="10" />
</groups>
<groups name="A">
<entry from="11" to="20" />
<entry from="21" to="30" />
</groups>
<groups name="A">
<entry from="31" to="40" />
<entry from="41" to="50" />
<entry from="51" to="60" />
</groups>
</root>
Учитывая номер записи Я хочу найти узел ввода, что это число падает между ними. Должен быть только один узел, который соответствует (если есть).
Херес XPath Я использую:
/корень/группы/запись [@from> = 45 и @to < = 45]
Я попытался обертывание атрибуты числа() тоже, но все равно не повезло.
Это не возвращает то, что я ожидал бы, на самом деле он ничего не возвращает, и я не понимаю, почему! Что мне не хватает?
Редактировать: Исправлена моя опечатка открывающих групп тегов ... извините.
DOH! Конечно, неправильные сравнения! Огромное вам спасибо, это наматывало меня на час. О, позор ... –
Как насчет: '/ root/groups/entry [@from <= 45 и 45 <= @to]'? Гораздо яснее, ИМХО. – Tomalak