2011-03-11 220 views
0

如果我有XML類似如下:(作爲一個XML變量名@nodes)sql服務器xml查詢?

<Nodes> 
    <Item>Item 1</Item> 
    <Item>Item 2</Item> 
    <Item>Item 3</Item> 
</Nodes> 

而且我也有我要找(例如2)項的指標。我如何使用查詢來獲取「Item 2」值?

我一直在嘗試這樣的事情:

SELECT 
@result = @nodes.value('(/Nodes/Item)[2]', 'nvarchar(255)') 

但所有我似乎可以得到的回覆是NULL

回答

1

你的方法對我的作品。

下面是我如何將XML分配給變量。

declare @nodes as xml 
set @nodes = '<Nodes> 
    <Item>Value 5</Item> 
    <Item>Localhost</Item> 
    <Item>Unrouteable - 10.x.x.x</Item> 
    <Item>Unrouteable - 172.16-31.x.x</Item><Item>Unrouteable - 192.168.x.x</Item> 
</Nodes>' 

SELECT 
@nodes.value('(/Nodes/Item)[2]', 'nvarchar(255)') 
+0

啊該死的..我改變了一些事情,當我粘貼我的例子..猜我必須修復它然後。謝謝! – Kyle