Reputation: 319
I have a table where ID
is integer
and XML
is XML
data type.
ID XML
----------------------
1 <Form1>...</Form1>
2 <Form1>...</Form1>
3 <Form2>...</Form2>
4 <Form3>...</Form3>
How do I get the result below?
ID XML
-------------
1 Form1
2 Form1
3 Form2
4 Form3
Upvotes: 15
Views: 15376
Reputation: 1487
Try this
DECLARE @xml as xml
SET @xml = '<Form1>...</Form1>'
SELECT Nodes.Name.query('local-name(.)') FROM @xml.nodes('//*') As Nodes(Name)
Upvotes: 2
Reputation: 51504
Use the local-name()
function
select ID, XML.value('local-name(/*[1])','varchar(100)')
from yourtable
Upvotes: 33