私は、Extract と ExtractValue で過去に使用したように、SQL クエリで解析したい xml を詰め込んだかなり複雑な clob を oracle に持っています。
名前 タイプ
ATTRIBUTES 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>
このxmlのデータを、オラクル風味のSQLを使用して使用可能な形式で抽出したい.....このようなものですが、それが別の形式である場合も喜んで聞きます...基本的にフラット化された形式です....私はxmlTable を考えることは私を助けますが、すべての列を知らなくても動的に行うことができます ( XML 複雑な解析) このリンクは明らかに列と型を知っていました
entryKey entryValue subComponentName subComponentValue