我有一个在xml节点上使用匹配来连接表的视图,如下例所示:
....CROSS APPLY xmlData.Nodes('/element/subElement')....
问题是我们现在有了名为'element2'和'element3'的元素,这些元素不会被拾取。有没有办法包含这些,几乎在节点上使用LIKE也可以选择这些?
这些方面的东西:
....CROSS APPLY xmlData.Nodes('/element%/subElement')....
或是手动将这些额外节点添加到视图中的情况?
由于
答案 0 :(得分:3)
您可以使用XQuery表达式
CROSS APPLY xmlData.nodes('/*/subElement')
<强>更新强>
如果您需要更具体,可以使用
CROSS APPLY xmlData.nodes('/*[substring(local-name(),1,7)="element"]/subElement')
理论starts-with
中的会比substring
好,但它在SQL-server-2005中不起作用,我无法使用SQL-server-2008进行测试