【发布时间】:2018-02-23 04:23:11
【问题描述】:
我需要从保存在 Oracle 12c 表的 CLOB 类型列中的 XML 代码中提取一些标记值。
之前我们使用 xmltype(COLUMN).extract('XPath/text()').getStringVal() 从标签中提取数据,但在我们的数据库升级到 12c 后它无法正常工作。
我们有 XML Like:
<otm:ShipmentStatus
xmlns:gtm="http://xmlns.oracle.com/apps/gtm/transmission/v6.4"
xmlns:otm="http://xmlns.oracle.com/apps/otm/transmission/v6.4">
<otm:ServiceProviderAlias>
<otm:ServiceProviderAliasQualifierGid>
<otm:Gid>
<otm:Xid>GLOG</otm:Xid>
</otm:Gid>
</otm:ServiceProviderAliasQualifierGid>
<otm:ServiceProviderAliasValue>TEST.123</otm:ServiceProviderAliasValue>
</otm:ServiceProviderAlias>
<otm:IntSavedQuery>
<otm:IntSavedQueryGid>
<otm:Gid>
<otm:DomainName>TEST</otm:DomainName>
<otm:Xid>FIND_DELIVERY_NUMBER</otm:Xid>
</otm:Gid>......etc.
我们必须从这个 XML 中选择一些值。
请提出一些解决此问题的方法。如果您还需要什么,请随时询问。
谢谢。 萨蒂扬
【问题讨论】:
-
您必须提取“一些值”吗?如果您的企业客户向您提出完全用这些话表达的要求,您会怎么做?
标签: sql xml oracle xpath oracle12c