我有一个返回XMLTYPE的PL / SQL函数,我想这样做 从“result”标记中提取值,在这种情况下为“0”。 XMLTYPE在下面。
<?xml version='1.0' encoding='UTF-8'?>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body><ns2:runSeriatimValuationResponse xmlns:ns2="http://seriatim.ipvfbm.pbgc.gov/">
<result>0</result>
</ns2:runSeriatimValuationResponse>
</S:Body>
</S:Envelope>
感谢您的帮助 - 非常感谢
答案 0 :(得分:0)
此查询返回结果标记的值(在这种情况下为0
):
SELECT XMLTYPE('<?xml version=''1.0'' encoding=''UTF-8''?>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body><ns2:runSeriatimValuationResponse xmlns:ns2="http://seriatim.ipvfbm.pbgc.gov/">
<result>0</result>
</ns2:runSeriatimValuationResponse>
</S:Body>
</S:Envelope>').EXTRACT('//result/text()').getStringVal() result
FROM dual;
在您的情况下,您不需要转换为XMLTYPE,只需将EXTRACT('//result/text()').getStringVal()
应用于您的函数结果