我有一个名为: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结构不包含此类标记的记录。
任何例子都非常感谢。
谢谢您。

最佳答案

您可以使用XQuery exist方法。
检查XML文档中的任何位置:

select *
from XMLIndex
where XMLRec.exist('//ISO') = 0

检查特定位置:
where XMLRec.exist('/XMLRecord/ISO') = 0

关于sql - SQL Server:查找缺少XML标记的记录,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42307182/

10-11 01:55