oracle解析clob字段中的xml数据

为了让大家能更快的解决类似这样的问题,所有提供小实例,供大家参考。

有这样一个表,表名:AA
字段有: id        number,
        c_cml     clob
 
其中,clob里面存储的为xml内容
其中xml里有字段:<PurchaseOrder>
                        <DataElement name="member_id">90558976001</DataElement>
                        <DataElement name="hicn">509488308A</DataElement>
                        <DataElement name="EID">285320</DataElement>
                 </PurchaseOrder>
   
问题:从AA表中select出xml中的id,hicn和member_id字段

解答:
1:创建表
create table AA(id number,c_cml clob);
2:插入字段
insert into aa values(1,to_clob('<PurchaseOrder>
                                   <DataElement name="member_id">90558976001</DataElement>
                                   <DataElement name="hicn">509488308A</DataElement>
                                   <DataElement name="EID">285320</DataElement>
                                 </PurchaseOrder>'));
       
3:查询
select extractvalue(xmltype(c_cml),'/PurchaseOrder/DataElement[@name="member_id"]'),      
       extractvalue(xmltype(c_cml),'/PurchaseOrder/DataElement[@name="hicn"]'),
    id
from aa;

猜你喜欢

转载自esmil.iteye.com/blog/2173650