2
<wbi:appData>
    <wbi:content wbi:name="1st_status">
        <wbi:value xsi:type="xsd:string">Success</wbi:value>
        </wbi:content>
    </wbi:appData>
</wbi:event>

SQL Developerを使用して、2行目にある「1st_status」と3行目にある「Success」の値を取得する必要があります。

このxmlは、CLOB型の形式の列を持つテーブルにあります。

4

2 に答える 2

2

あなたはこのようにします:

(つまり、テーブルyourdataにはclob列が含まれていますc

SQL> select extractvalue(xmltype(c), '/wbi:event/wbi:appData/wbi:content/@wbi:name','xmlns:wbi="http://foo"') name,
  2         extractvalue(xmltype(c), '/wbi:event/wbi:appData/wbi:content/wbi:value','xmlns:wbi="http://foo"') status
  3    from yourdata
  4  /

NAME            STATUS
--------------- ---------------
1st_status      Success

これは、wbi名前空間がxmlns:wbi = "http://foo"であることを前提としています。

// contentが繰り返しタグの場合、代わりにこれを行います。

SQL> select extractvalue(value(t), '/wbi:content/@wbi:name','xmlns:wbi="http://foo"') name,
 2         extractvalue(value(t), '/wbi:content/wbi:value','xmlns:wbi="http://foo"') status
 3    from yourdata,
 4         table(xmlsequence(extract(xmltype(c), '/wbi:event/wbi:appData/wbi:content', 'xmlns:wbi="http://foo"'))) t
 5
SQL> /

NAME            STATUS
--------------- ---------------
1st_status      Success
2nd_status      Failure
于 2012-12-13T10:41:54.453 に答える
0

あなたが試すことができます ::

SELECT extractvalue(xmltype(xmlcol), 'xpath') FROM yourtable

ただし、xmltypeがCLOBデータ型で機能するかどうかを確認する必要があります。

于 2012-12-13T08:38:01.550 に答える