是否可以通过匹配部分XML来过滤XML列?通过部分XML过滤SQL XML列
例子:
我给定记录XML列可能有:
<element1>
<subelement1>value1</subelement1>
<subelement2>value2</subelement2>
<subelement3>value3</subelement3>
</element1>
,我不得不使用下面的部分XML作为过滤器:
<element1>
<subelement2>value2</subelement2>
<subelement3>value3</subelement3>
</element1>
在这大小写,因为这两个元素及其值都与记录中的元素相匹配,所以它应该返回记录。
然而,在下面的部分XML,它不是一个比赛,因为subelement4
不存在XML列该定记录:
<element1>
<subelement2>value2</subelement2>
<subelement4>value4</subelement4>
</element1>
在同一行,什么是滤波的推荐方法XML列使用多个元素?我看到的例子总是过滤一个元素,而不是多个元素。
我目前的解决方案是一个逗号分隔值的字符串,我分裂成一个2列(元素名称和值)的表和交叉应用。它运作良好。我只是想知道是否有更好的东西。我正在考虑发送部分XML字符串,并以某种方式(此问题)将此部分XML与XML列匹配。
您能解释为什么第一个XML匹配,但第三个不匹配?两者都包含过滤器中不存在的元素。也许你的意思是“包含过滤器中所有元素的XML,并在过滤器中匹配它们的值,应该返回”? – 2014-09-04 22:00:31
@ZoffDino谢谢,我编辑。是的,价值也应该被考虑,而不仅仅是元素名称。没有第三。第一个XML是数据库中的一个。第二个是作为匹配的XML过滤器(示例)。第三个是XML过滤器不匹配(示例)。 – igorjrr 2014-09-04 23:14:03