gpt4 book ai didi

sql - Oracle Query 从更复杂的 XML clob 中获取数据

转载 作者:数据小太阳 更新时间:2023-10-29 02:13:52 25 4
gpt4 key购买 nike

我有一个相当复杂的 clob,在 oracle 中填充了 xml,我想在 SQL 查询中解析它,就像我过去使用 Extract 和 ExtractValue 一样。

名称 类型
属性 CLOB

我过去使用的简单查询

    SELECT   EXTRACT(EXTRACT(xmltype.createxml(ATTRIBUTES),
'/Attributes/Map/entry[@key=""buildMapRule""]'),'/entry/@value').getStringVal() AS RULE
FROM SPT_APPLICATION

它曾经像这样从 XML 中获取简单数据
<Attributes>
<Map>
<entry key="afterProvisioningRule"/>
<entry key="beforeProvisioningRule"/>
<entry key="buildMapRule" value="Build Map Rule - ALM"/>
</Map>
</Attributes>

但现在我有这样的东西
<Attributes>
<Map>
<entry key="buildMapRule" value="Build Map Rule - ALM"/>
<entry key="compositeDefinition"/>
<entry key="disableOrderingCheck">
<value>
<Boolean>true</Boolean>
</value>
</entry>
<entry key="group.mergeRows">
<value>
<Boolean></Boolean>
</value>
</entry>
<entry key="group.useExecuteQuery">
<value>
<Boolean></Boolean>
</value>
</entry>
<entry key="myColumns">
<value>
<List>
<String>Account Index</String>
<String>Account Index2</String>
<String>Account Index3</String>
</List>
</value>
</entry>
</Map>
</Attributes>

我想使用 oracle 风格的 sql 以可用格式提取此 xml 的数据......类似这样,但我愿意倾听它是否也是另一种格式......所以基本上是扁平格式...... .我在想 xmlTable 会帮助我,但是可以在不知道所有列的情况下动态完成吗(XML complex Parsing)这个链接显然知道列和类型

entryKey entryValue subComponentName subComponentValue

最佳答案

查看 Oracle xmltype: http://docs.oracle.com/cd/E11882_01/appdev.112/e25788/t_xml.htm#ARPLS369

示例片段:

procedure myProc( xml_in in clob ) is
myXML xmltype;
begin
myXML := xmltype.createxml( xml_in );
/*
from here you can then use functions like:
extract()
xmlsequence()
etc... look through the docs, there's plenty of functions to use,
they should satisfy your needs
*/
end;

https://community.oracle.com/thread/2378521?tstart=0

Oracle extract values from xmltype

关于sql - Oracle Query 从更复杂的 XML clob 中获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19867659/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com