我需要检查 XML 存储为 CLOB 的 XML 标记是否存在。
我试过existsNode
了,但似乎遇到了麻烦。
只需提供我感兴趣的 XML 的 jist(这是一个很大的):
<main requestType="create">
<CATEGORY_ID>5</CATEGORY_ID>
<NAME>Position Adhoc</NAME>
<VIEW_CONFIG>
<ViewConfig>
<localization value="true"></localization>
<DataSource dataFormat="XML" hasTotalRow="false" nodeDataFieldWidth="200" treeNodeDataField="0"></DataSource>
<Ribbon>
<Funds container="com.ssc.cfi.ribbon.fundbrowser.FundBrowser" enabled="true" entity="Portfolio" exclusiveGroup="" label="Portfolios" visible="true">
**<List** enabled="true" fundFilterState="ACCT" label="Portfolio" maxSelectionAllowed="1000" showActiveCloseFunds="false" showManager="false"></List>
<AllFunds enabled="true" entityName="AllFunds" showActiveCloseFunds="false"></AllFunds>
我需要查找 XML 标记“列表”是否存在于 XML 中的任何位置。XML 数据作为 Clob 存储在 COL_A 列中的 TAB_A 中。
试过这个,但没有用,即使我们可以看到标签存在,它也给了我 0 的计数:
select count(1)
from tab_a
where existsNode(extract(xmltype(col_a),'//main'),'//List') = 1
使用 existsNode 或 xmlexists 有什么想法吗?