oracle解析xml完成版
2015-09-07 11:07
573 查看
SELECT * FROM XMLTABLE('$B/DEAL_BASIC/USER_DEAL_INFO' PASSING
XMLTYPE('<?xml version="1.0" encoding="gb2312" ?>&xml') AS B
COLUMNS USER_DEAL_ID VARCHAR2(50) PATH
'/USER_DEAL_INFO/USER_DEAL_ID',
DEAL_INURE_TIME VARCHAR2(50) PATH
'/USER_DEAL_INFO/DEAL_INURE_TIME',
DEAL_EXPIRE_TIME VARCHAR2(50) PATH
'/USER_DEAL_INFO/DEAL_EXPIRE_TIME',
DEAL_CREATE_TIME VARCHAR2(50) PATH
'/USER_DEAL_INFO/DEAL_CREATE_TIME');
<DEAL_BASIC>
<USER_DEAL_INFO>
<USER_DEAL_ID>1000100001</USER_DEAL_ID>
<DEAL_INURE_TIME>20081130</DEAL_INURE_TIME>
<DEAL_EXPIRE_TIME>30000101</DEAL_EXPIRE_TIME>
<DEAL_CREATE_TIME>20081130</DEAL_CREATE_TIME>
</USER_DEAL_INFO>
</DEAL_BASIC>
--------------------------------------------------------
--案例一 完成的
SELECT * FROM XMLTABLE('$B/ROW' PASSING
XMLTYPE('<?xml version="1.0" encoding="gb2312" ?>&xml') AS B
COLUMNS
TP_ID VARCHAR2(50) PATH
'/ROW/TP_ID',
TP_NAME VARCHAR2(50) PATH
'/ROW/TP_NAME',
TP_PARENTID VARCHAR2(50) PATH
'/ROW/TP_PARENTID',
TP_SNAME VARCHAR2(50) PATH
'/ROW/TP_SNAME');
<ROW>
<TP_ID>112</TP_ID>
<TP_NAME>oracle</TP_NAME>
<TP_PARENTID>0</TP_PARENTID>
<TP_SNAME>R</TP_SNAME>
</ROW>
----------------------------------------------------------------------
--案例二 单引号 不能识别
SELECT * FROM XMLTABLE('$B/DEAL_BASIC/USER_DEAL_INFO' PASSING
XMLTYPE('<?xml version="1.0" encoding="gb2312" ?>&xml') AS B
COLUMNS USER_DEAL_ID VARCHAR2(50) PATH
'/USER_DEAL_INFO/ROW_ID',
DEAL_INURE_TIME VARCHAR2(50) PATH
'/USER_DEAL_INFO/ROW_TIME',
DEAL_EXPIRE_TIME VARCHAR2(50) PATH
'/USER_DEAL_INFO/ROW_NAME');
<DEAL_BASIC>
<USER_DEAL_INFO>
<ROW_ID>1000100001</ROW_ID>
<ROW_TIME>ORACLE</ROW_TIME>
<ROW_NAME>30000101</ROW_NAME>
</USER_DEAL_INFO>
<USER_DEAL_INFO>
<ROW_ID>1000100001</ROW_ID>
<ROW_TIME>ORACLE</ROW_TIME>
<ROW_NAME>30000101</ROW_NAME>
</USER_DEAL_INFO>
</DEAL_BASIC>
--------------------------------------------------------------------
--案例三 完成的
SELECT * FROM XMLTABLE('$B/orderlist/order' PASSING
XMLTYPE('<?xml version="1.0" encoding="gb2312" ?>&xml') AS B
COLUMNS orderid VARCHAR2(50) PATH
'/order/orderid',
ordernumber VARCHAR2(50) PATH
'/order/ordernumber',
orderpriceE VARCHAR2(50) PATH
'/order/orderprice');
<orderlist>
<order>
<orderid>1</orderid>
<ordernumber>857544544</ordernumber>
<orderprice>54</orderprice>
</order>
<order>
<orderid>2</orderid>
<ordernumber>858544544</ordernumber>
<orderprice>63</orderprice>
</order>
<order>
<orderid>3</orderid>
<ordernumber>454854555</ordernumber>
<orderprice>781</orderprice>
</order>
</orderlist>
费了千辛万苦 ,终于有了一点门路
XMLTYPE('<?xml version="1.0" encoding="gb2312" ?>&xml') AS B
COLUMNS USER_DEAL_ID VARCHAR2(50) PATH
'/USER_DEAL_INFO/USER_DEAL_ID',
DEAL_INURE_TIME VARCHAR2(50) PATH
'/USER_DEAL_INFO/DEAL_INURE_TIME',
DEAL_EXPIRE_TIME VARCHAR2(50) PATH
'/USER_DEAL_INFO/DEAL_EXPIRE_TIME',
DEAL_CREATE_TIME VARCHAR2(50) PATH
'/USER_DEAL_INFO/DEAL_CREATE_TIME');
<DEAL_BASIC>
<USER_DEAL_INFO>
<USER_DEAL_ID>1000100001</USER_DEAL_ID>
<DEAL_INURE_TIME>20081130</DEAL_INURE_TIME>
<DEAL_EXPIRE_TIME>30000101</DEAL_EXPIRE_TIME>
<DEAL_CREATE_TIME>20081130</DEAL_CREATE_TIME>
</USER_DEAL_INFO>
</DEAL_BASIC>
--------------------------------------------------------
--案例一 完成的
SELECT * FROM XMLTABLE('$B/ROW' PASSING
XMLTYPE('<?xml version="1.0" encoding="gb2312" ?>&xml') AS B
COLUMNS
TP_ID VARCHAR2(50) PATH
'/ROW/TP_ID',
TP_NAME VARCHAR2(50) PATH
'/ROW/TP_NAME',
TP_PARENTID VARCHAR2(50) PATH
'/ROW/TP_PARENTID',
TP_SNAME VARCHAR2(50) PATH
'/ROW/TP_SNAME');
<ROW>
<TP_ID>112</TP_ID>
<TP_NAME>oracle</TP_NAME>
<TP_PARENTID>0</TP_PARENTID>
<TP_SNAME>R</TP_SNAME>
</ROW>
----------------------------------------------------------------------
--案例二 单引号 不能识别
SELECT * FROM XMLTABLE('$B/DEAL_BASIC/USER_DEAL_INFO' PASSING
XMLTYPE('<?xml version="1.0" encoding="gb2312" ?>&xml') AS B
COLUMNS USER_DEAL_ID VARCHAR2(50) PATH
'/USER_DEAL_INFO/ROW_ID',
DEAL_INURE_TIME VARCHAR2(50) PATH
'/USER_DEAL_INFO/ROW_TIME',
DEAL_EXPIRE_TIME VARCHAR2(50) PATH
'/USER_DEAL_INFO/ROW_NAME');
<DEAL_BASIC>
<USER_DEAL_INFO>
<ROW_ID>1000100001</ROW_ID>
<ROW_TIME>ORACLE</ROW_TIME>
<ROW_NAME>30000101</ROW_NAME>
</USER_DEAL_INFO>
<USER_DEAL_INFO>
<ROW_ID>1000100001</ROW_ID>
<ROW_TIME>ORACLE</ROW_TIME>
<ROW_NAME>30000101</ROW_NAME>
</USER_DEAL_INFO>
</DEAL_BASIC>
--------------------------------------------------------------------
--案例三 完成的
SELECT * FROM XMLTABLE('$B/orderlist/order' PASSING
XMLTYPE('<?xml version="1.0" encoding="gb2312" ?>&xml') AS B
COLUMNS orderid VARCHAR2(50) PATH
'/order/orderid',
ordernumber VARCHAR2(50) PATH
'/order/ordernumber',
orderpriceE VARCHAR2(50) PATH
'/order/orderprice');
<orderlist>
<order>
<orderid>1</orderid>
<ordernumber>857544544</ordernumber>
<orderprice>54</orderprice>
</order>
<order>
<orderid>2</orderid>
<ordernumber>858544544</ordernumber>
<orderprice>63</orderprice>
</order>
<order>
<orderid>3</orderid>
<ordernumber>454854555</ordernumber>
<orderprice>781</orderprice>
</order>
</orderlist>
费了千辛万苦 ,终于有了一点门路
相关文章推荐
- Maven 3 + Hibernate 3.6 + Oracle 11g Example (Annotation)
- oracle 登录时提示无监听登陆不进去
- oracle静默安装
- Maven 3 + Hibernate 3.6 + Oracle 11g Example (Annotation)
- 问题:oracle decode;结果:oracle中的decode的使用
- Maven 3 + Hibernate 3.6 + Oracle 11g Example (XML Mapping)
- Oracle Database - ORA-01720 - grant option does not exist for 'AnObject'
- oracle数据库表的解锁问题
- oracle 10g dataguard物理standby配置 (数据文件以文件系统存储)
- oracle加固
- ORACLE 数据库 rman 全备份
- oracle完全删除表空间
- Oracle pctfree和pctused详解
- 解决在mybatis中使用CTE进行oracle查询数据类型为long的字段出现流关闭问题
- 解决在mybatis中使用CTE进行oracle查询数据类型为long的字段出现流关闭问题
- oracle的备份与恢复
- JDBC连接Oracle数据库时出现的ORA-12505错误及解决办法
- oracle9i与10g与11g的区别
- wampServer连接oracle
- oracle 10g的long类型处理bug