我有一个名为XMLIndex的表,其中包含一个名为XMLRec的列,它包含XML文件和值的结构。
其中一些记录缺少名为<ISO></ISO>
我的问题是:我需要运行什么类型的查询才能找到表格XMLIndex中缺少<ISO>
标记的所有记录?
这是一个包含ISO标记的XMLRecord XML示例:
<XMLRecord>
<pn>0042761</pn>
<SRI>4.40</SRI>
<igm>/images/images/0042761.gif</img>
<ISO>ZW</ISO>
<ListPrice>$5.50</ListPrice>
</XMLRecord>
和一个有多个ISO(看标签差异很小):
<XMLRecord>
<pn>0042762</pn>
<SRI>4.40</SRI>
<igm>/images/images/0042762.gif</img>
<ISOs>ZW+NZ+AU+BR</ISOs>
<ListPrice>$5.50</ListPrice>
</XMLRecord>
缺少ISO标记的一个记录是XML结构不包含此标记的记录。
非常感谢任何例子。
谢谢。
答案 0 :(得分:4)
您可以使用XQuery exist方法。
检查xml文档中的任何位置:
select *
from XMLIndex
where XMLRec.exist('//ISO') = 0
检查具体位置:
where XMLRec.exist('/XMLRecord/ISO') = 0