Я пытаюсь идентифицировать «узел» в XML-строке. У меня нет опыта работы с Oracle XML Functions. Строка XML создается в Stroed Procedure с использованием функций XMLElement и XMLAgg. Как определить значение узла RESULT.NAME?Поиск XML-переменной в хранимой процедуре Oracle
Я объявил переменную в хранимой процедуре и попробовал следующее, но сохраненная процедура не компилируется. Это дает мне ошибку, говоря «Заявление игнорируется» vRepResults: = XMLResults.EXTRACT ('ZAVACOR_RESULTS/ORDERS/SAMPLE/TEST/RESULT/REPORTED_RESULT/text()'). Getstringval();
Эта строка хранится в переменной, а не в таблице, и поэтому я не уверен, могу ли я использовать функции XQuery. Я вставил образец XML Ниже:
<ZAVACOR_RESULTS>
<ORDERS>
<X_EXTERNAL_ID>508106</X_EXTERNAL_ID>
<X_ZAV_PROTOCOL></X_ZAV_PROTOCOL>
<SAMPLE>
<LABEL_ID>352453611</LABEL_ID>
<STATUS>I</STATUS>
<TEST>
<ANALYSIS>_GLUCOSE_SO1_ENZ_001</ANALYSIS>
<STATUS>I</STATUS>
<RESULT>
<NAME>GLUCOSE</NAME>
<REPORTED_RESULT>
<REPORTED_VALUE>3</REPORTED_VALUE>
</REPORTED_RESULT>
</RESULT>
</TEST>
</SAMPLE>
</ORDERS>
</ZAVACOR_RESULTS>
Большое спасибо! Сработало преобразование v_xml_str в xmltype. – ERS