Как получить текстовое значение, используя запрос Xpath для определенных данных
У меня есть xml как то так
'<engnDoc>
<rbl cd="100" bd ="xyz" reliable="Y">
<time secs="600">
<outage>N</outage>
<stable>Y</stable>
<other>Perfect</other>
</time>
</rbl>
</engnDoc>'
Как получить значение стабильного? Я пробовал что-то подобное
with data(person_id,stable_cd) as
(select person_id, unnest(xpath('/engnDoc/rbl[@reliable="Y"]/time[@secs="600"]/stable/text()',(select xmlparse(document somexmlfieldintable))))::text as stable_cd
from sometable
)
select person_id,stable_cd
from data
where stable_cd = 'Y'
Но я получаю ошибку как
ОШИБКА: неверный документ XML
ДЕТАЛИ: строка 1: ожидается начало вкладки, "<" не найдено
".......
^
По сути, я пытаюсь получить запись, которая имеет значение 600 секунд и имеет стабильный индикатор как Y
. (XML состоит из множества записей с secs=400
, secs=500
, но я хочу secs=600
только.