从XML文件中提取列名称

时间:2014-06-02 19:24:29

标签: sql sql-server xml

我们如何能够使用以下代码从表中提取列名:

select column_name from information_schema.columns
where table_name = 'theNameofMyTable'
order by ordinal_position

是否有类似的功能来提取XML文件的列名称?

<Item>
    <Product>Food</Product>
    <Date>09/03/11</Date>
    <Shipped>10/01/11</Date> 
</Item> 

我想在sql中编写一个代码来提取我的xml文件中的列名。我需要比较他们的模式。

对于此XML文件,我希望查看列节点:产品,日期,已发货

1 个答案:

答案 0 :(得分:2)

declare @xml xml = '
<Item>
  <Product>Food</Product>
  <Date>09/03/11</Date>
  <Shipped>10/01/11</Shipped> 
</Item>'

select T.X.value('local-name(.)', 'nvarchar(128)')
from @xml.nodes('/Item/*') as T(X)

SQL Fiddle