我正在尝试识别 XML 字符串中的“节点”。我对 Oracle XML 函数没有任何经验。XML 字符串是在 Stroed 过程中使用 XMLElement 和 XMLAgg 函数生成的。如何识别节点 RESULT.NAME 的值?
我已经在存储过程中声明了一个变量,并尝试了以下方法,但存储过程无法编译。它给了我一个错误,说“语句被忽略” 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>