Вы можете использовать xpath()
, чтобы использовать выражение XPath, извлекающее части XML. Он вернет массив совпадений, поэтому вам нужно выбрать нужный индекс, если вы хотите скаляр.
В последнем необязательном аргументе xpath()
может быть указан массив массивов элементов, каждый из которых определяет отображение пространства имен.
В вашем случае выражение XPath получает текст totMiscCost/V
, где значение атрибута Idx
равно значению атрибута с тем же именем Type/V
. Обратите внимание, что вы должны поставить перед элементами псевдоним пространства имен.
SELECT (xpath('(//dns:totMiscCost/dns:V[@Idx=//dns:Type/dns:V[text()="Cat"]/@Idx]/text())[1]',
nmuloc,
ARRAY[ARRAY['dns',
'dmotorworks.com/sample-test-data-history']]))[1]
FROM elbat;
дб <> скрипка