この関数を使用して、EXTRACTVALUE
この値を取得できます。この関数は、2つまたは3つのパラメーターを取ります。
- XMLドキュメントを含むXMLTYPEオブジェクト。
- XMLのどこに必要な値があるかを識別するXPath式。
- (オプション)名前空間プレフィックスをURIにバインドする追加の文字列。
以下のクエリでは、上記で提示したXMLを文字列として取得し、そこからXMLTYPEオブジェクトを作成しました。次にEXTRACTVALUE
、あなたが求めた値を取得するために使用します。
SELECT EXTRACTVALUE(XMLTYPE(
'<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body>
<SOAProxyResponse xmlns="http://tempuri.org/">
<SOAProxyResult>
There is 23142 Files!
</SOAProxyResult>
</SOAProxyResponse>
</s:Body>
</s:Envelope>'), '//SOAProxyResult', 'xmlns="http://tempuri.org/"') AS result
FROM dual;
XPath式は、ドキュメント内の//SOAProxyResult
すべての要素を返すだけです。デフォルトの名前空間をにバインドするSOAProxyResult
3番目の引数。XMLドキュメントの要素はこの名前空間内にあるため、これが必要です。EXTRACTVALUE
http://tempuri.org/
SOAProxyResult
このクエリを実行すると、次の出力が得られます。
結果
-------------------------------------------------- ------------------------------
23142個のファイルがあります!
ここから、このクエリの結果を変数に入れるのは簡単な変更になるはずです。