如何只抓取xml列的一部分,并将它作为SQL自己的结果集返回?查询作为结果集的xml列的一部分
我在我的数据库中的XML文件看起来像这样:
<main>
<data>
<rows>
<_items>
<columns>
<values>
<keyvaluepairs>
<keyvaluepairofstringstring>
<key>EVENT</key>
<value>Wedding</value>
</keyvaluepairofstringstring>
<keyvaluepairofstringstring>
<key>DETAIL</key>
<value>Smith-Wesson</value>
</keyvaluepairofstringstring>
</keyvaluepairs>
</values>
</columns>
<columns>
<values>
<keyvaluepairs>
<keyvaluepairofstringstring>
<key>EVENT</key>
<value>Reunion</value>
</keyvaluepairofstringstring>
<keyvaluepairofstringstring>
<key>DETAIL</key>
<value>Class of 1996</value>
</keyvaluepairofstringstring>
</keyvaluepairs>
</values>
</columns>
<columns>
<values>
<keyvaluepairs>
<keyvaluepairofstringstring>
<key>EVENT</key>
<value>Pie-throwing contest</value>
</keyvaluepairofstringstring>
<keyvaluepairofstringstring>
<key>DETAIL</key>
<value>Cherry pies</value>
</keyvaluepairofstringstring>
</keyvaluepairs>
</values>
</columns>
</_items>
</rows>
</data>
</main>
而且我想返回“行”为设置这样的结果:
EVENT NAME
Wedding Smith-Wesson
Reunion Class of 1996
Pie-throwing contest Cherry pies
...etc...
我使用方法described here查询单个值,但这不足以获得我真正需要的所有数据。
我使用SQL Server 2008的
编辑:为了澄清,这个XML被包含在一个单行。例如,返回上面的XML,我会键入
select my_xml_column from my_table;
您是查询单个XML字符串还是查询一组行?而且你的XML看起来也是错误的:SQL服务器不接受这种XML数据类型。 – gbn 2011-12-29 14:32:38
修正了XML错误。我改变了标签和数据,将它匿名化了一些,并且加上了一个结尾标签。这包含在sql server中的一个XML类型的列中,包含在一行中。 – JosephStyons 2011-12-29 14:41:28