Я пытаюсь извлечь значения из XML, возвращающегося из вызова веб-службы. Однако включение атрибута «xmlns» приводит к тому, что мой запрос не работает должным образом.извлечение значения из XML с использованием SQL с использованием Oracle 11g
Этот запрос работает, как и ожидалось, я получаю «Y» назад:
SELECT EXTRACTVALUE(XMLType('<?xml version="1.0" encoding="utf-8"?><string><SAMP_OVERALL>Y</SAMP_OVERALL></string>')
,
'/string/SAMP_OVERALL') myval
from dual;
Вот тот же запрос, но корневой тег «строка» содержит атрибут XMLNS. Так возвращается фактический XML. Я сузился, это атрибут, дающий мне неприятности. Она возвращает нуль:
SELECT EXTRACTVALUE(XMLType('<?xml version="1.0" encoding="utf-8"?><string xmlns="someweburl"><SAMP_OVERALL>Y</SAMP_OVERALL></string>')
,
'/string/SAMP_OVERALL') myval
from dual;
Почему включение Xmlns атрибута причина этого не возвращать значение тега SAMP_OVERALL?
На данный момент я не могу понять синтаксис, чтобы вытащить нужные мне значения.
Спасибо!
работал отлично! спасибо за ссылку. – mjf200