Получить XML-узел при использовании TSQL - PullRequest
0 голосов
/ 09 декабря 2010

Я хотел бы знать, если кто-нибудь может помочь, как получить имя NODE или переменную XML с помощью TSQL.

<ROOT>
<IDS>
<ID>
<NAME>bla1</NAME>
<AGE>25</AGE>
</ID>
<ID>
<NAME>bla2</NAME>
<AGE>26</AGE>
</ID>
</IDS>
</ROOT>

После моего запроса я смогу получить имена узлов: NAME, AGE

Мой SQL-сервер - MSSQL 2005.

1 Ответ

1 голос
/ 09 декабря 2010

Это даст вам имена узлов для потомков первого ID узла:

DECLARE @x xml

SET @x = '<ROOT>
<IDS>
<ID>
<NAME>bla1</NAME>
<AGE>25</AGE>
</ID>
<ID>
<NAME>bla2</NAME>
<AGE>26</AGE>
</ID>
</IDS>
</ROOT>'

SELECT T.c.value('local-name(.)', 'varchar(50)') 
FROM @x.nodes('/ROOT/IDS/ID[1]/*') T(c)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...