【问题标题】:Fetch Xml Content from a table in oracle从 oracle 中的表中获取 Xml 内容
【发布时间】:2015-02-08 12:16:03
【问题描述】:

这是我存储的 XML 内容,它与表“TEST_TABLE”中的列名“Xml_Column”中的内容相同,并且该列的数据类型是 clob。

<ns0:TEST_EVENTS xmlns:ns0="http://TEST.APPLICATION.ABC.Schemas.XML_Target_TESTEvents">
   <compname>Sherlock</compname>
        <Add>Homes</Add>
    <Employee>
        <firstname>Jim</firstname>
        <lastname>Moriarty</lastname>
        <age>52</age>
        <email>jim@sh.com</email>
    </Employee>
</ns0:TEST_EVENTS>

我的要求是从存储和显示我的 xml 内容的列中获取名字和姓氏。任何帮助

【问题讨论】:

标签: sql xml oracle oracle11g


【解决方案1】:

使用 EXTRACTVALUE,这是最简单的方法:https://docs.oracle.com/cd/B19306_01/server.102/b14200/functions052.htm

为了优化,您应该根据您的 clob 进行内部查询以构造 XMLType 实例;在外部查询中使用 EXTRACTVALUE 选择您希望的每个值。

【讨论】:

    【解决方案2】:

    例如:

      SELECT extractValue(OBJECT_VALUE, '/firstname'),
             extractValue(OBJECT_VALUE, '/lastname')
             FROM TEST_TABLE;
    

    所有名字和姓氏:

    SELECT  XMLQuery('for $d in /Employee
                 return ($d/firstname/text(),$d/lastname/text())
                PASSING OBJECT_VALUE
                RETURNING CONTENT) FROM TEST_TABLE;
    

    【讨论】:

      猜你喜欢
      • 2021-10-15
      • 2012-03-13
      • 2011-01-22
      • 1970-01-01
      • 1970-01-01
      • 2012-12-04
      • 1970-01-01
      • 1970-01-01
      • 2010-10-24
      相关资源
      最近更新 更多