暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

将XML列解析为oracle

askTom 2015-10-29
122

问题描述

我试图解析xml语句例如:

"美国马歇尔办事处MLK JR联邦法院大楼"

所以我尝试创建一个表,并能够创建列,然后解析数据。

我想获取上面的数据,并将其单独地插入到数据库表中的列中。是否可以对SQL语句代码的外观制作一个相当简单的版本?

例如>>>

Addrln1 =表中的列
插入数据=美国马歇尔办公室

反之亦然,下一列将为Addrln2 =列
插入数据= MLK JR联邦法院大楼

专家解答

您可以使用xmltable来提取字段。使用XPath表达式标识列:

select * 
from   xmltable('/root'
  passing 
  xmlparse(content '
     UNITED STATES MARSHALS OFFICE
     MLK JR FEDERAL COURTHOUSE
  ')
  columns line_1 varchar2(100) path 'AddrLn1',
          line_2 varchar2(100) path 'AddrLn2');

LINE_1                         LINE_2                       
------------------------------ ------------------------------
UNITED STATES MARSHALS OFFICE  MLK JR FEDERAL COURTHOUSE 


http://docs.oracle.com/database/121/ADXDB/xdb03usg.htm#ADXDB4130

https://oracle-base.com/articles/misc/xmltable-query-xml-data-from-sql

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论