【问题标题】:Extract value from XMLTYPE using PL/SQL, SQL, Oracle使用 PL/SQL、SQL、Oracle 从 XMLTYPE 中提取值
【发布时间】:2015-08-24 17:50:37
【问题描述】:

我有一个返回 XMLTYPE 的 PL/SQL 函数,我想 从“结果”标签中提取值,在本例中为“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>

感谢您的帮助 - 非常感谢

【问题讨论】:

    标签: sql oracle oracle11g xmltype


    【解决方案1】:

    此查询返回结果标签的值(本例中为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() 应用于您的函数结果

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-01
      • 2013-07-06
      • 1970-01-01
      • 2019-08-19
      • 2010-11-02
      • 1970-01-01
      相关资源
      最近更新 更多