2012-01-09 3 views
0
DECLARE @x xml 
SET @x='<data> 
<add key="images" value="image/path/img.gif">a</add> 
<add key="images2" value="image/path/img2.gif" >b</add> 
<add key="images3" value="image/path/img3.gif" >c</add> 
</data>'; 


SELECT s.value('.', 'VARCHAR(8000)') AS myVal from @x.nodes('/data/add') AS t(s) 

Я хочу видеть (элементы 3 добавить в)SQL Server - просмотр Вершины элементов в XQUERY

add 
add 
add 

, но все, что я вижу

a 
b 
c 

Что мне не хватает?

ответ

3

Использовать местное имя() вместо:

SELECT s.value('local-name(.)', 'VARCHAR(8000)') AS myVal 
from @x.nodes('/data/add') AS t(s) 

Обратитесь к ссылке XQuery Microsoft для получения дополнительной информации: link

+0

Где я могу найти все эти внутренние команды? Я пробовал целый день. –

+1

@RoyiNamir: как насчет [MSDN docs: XQuery Language Reference] (http://msdn.microsoft.com/en-us/library/ms189075.aspx) –

+0

добавлена ​​ссылка для вас –