Oracle数据库对xml类型字段操作的详解

对Oracle数据库操作xml数据的简单介绍:

项目中真实操作,由于需要将客户的录入信息暂存在流程表的一个字段中以xml形式,而在不借助中间表的条件。

首先我们可以先把后台获取到的实例对象转成xml类型:

//XStream与DOMDriver都是来自xstream-版本号.jar包下的
XStream stream = new XStream(new DomDriver()); 
//然后将实例对象转成xml格式
String xml = stream.toXML(实例对象名);

比如我们获取到的xml为下面这个值,并将xml存放在Person表的operation(字段类型为CLOB)字段中:

<student> 
 <name> henry </name> 
 <age> 23 </age> 
 <sex> male </sex> 
 <currencyNo>R</currencyNo>
 <email> balabala@163.com </email> 
</student> 

当我们需要拿出xml中的某个值来比对或者查询的时候,可以如下操作:

--1、获取xml中某个标签的值可以这样写,用XMLTYPE类型对XML解析:
 SELECT 
 EXTRACT(xmltype(a.operation),'/student/currEncyNo/text()').getStringVal() as currencyNo
 FROM Person  a

由于本地库自己设了三条数据,看结果图:

在这里只是给大家简单介绍一下读取xml类型字段的标签下的某个值,如果大家想了解更多操作xml数据的高级方法,可以参考Oracle的官方文档,给的很详细:

https://docs.oracle.com/cd/B19306_01/appdev.102/b14259/xdb04cre.htm#sthref465

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值