2016-04-26 18 views
2

Я смог использовать xpath-поиск Postgresql (9.4.x) для соответствия атрибуту или элементу xml. Можно ли искать комбинацию значения атрибута и элемента?Postgresql xpath Поиск комбинации атрибутов и элементов

<name> 
    <firstname>test</firstname> 
    <lastname>user</lastname> 
    <role num="10">admin</role> 
    <role num="8">readonly</role> 
</name> 

Я пытался соответствовать роли администратора с номером 10, в приведенном выше примере XML и ниже запроса делает вернуть значение TRUE для комбинации 8-администратора, а также.

select xpath('//role/@num="8" and //role/text()="admin"', '<above xml>'); 

Просьба предложить, если есть лучший способ сопоставить точную комбинацию индексов.

Спасибо.

ответ

3

Я пытался соответствовать роли администратора с номером 10

Try:

'//role[@num="10" and text()="admin"]' 

Или если name элемент для администратора предлагается:

'//name[role[@num="10" and text()="admin"]]' 
+0

Это работало , Большое спасибо за вашу помощь. Мне нужно немного изменить мой запрос, поскольку я использовал это в том месте, где предложение и мой предыдущий запрос вернули true/false, где, поскольку этот запрос возвращал значение. – Prasad

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