如何只抓取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