0

我需要检查 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 有什么想法吗?

4

0 回答 0