2010-12-09 39 views
0

Je voudrais savoir si quelqu'un peut vous aider à obtenir le nom NODE de la variable XML en utilisant TSQL.Obtenir le nœud XML en utilisant tsql

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

Après ma requête, je devrais être en mesure d'obtenir les noms des noeuds: NOM, AGE

Mon serveur SQL est MSSQL 2005.

Répondre

1

Cela vous donne les noms de noeud pour les enfants de le premier nœud 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)