我需要从保存在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我们必须选择一些值。
请提出一些解决此问题的方法。随意询问您是否还需要更多。
谢谢。 萨特雅姆
答案 0 :(得分:0)
示例xml具有名称空间。你必须使用它。
buttonClick(){
var data1 = [{a:1,b:10},{a:2,b:20}];
var mystyle = {
headers:true,
column: {style:{Font:{Bold:"1"}}},
rows: {1:{style:{Font:{Color:"#FF0077"}}}},
cells: {1:{1:{
style: {Font:{Color:"#00FFFF"}}
}}}
};
alasql('SELECT * INTO XLSXML("tdts.xls",?) FROM ?',[mystyle,data1]);