SQL Server XML查询:如何选择值?

时间:2012-11-05 17:39:17

标签: sql sql-server xml

如何从xml中选择这样的文件名,即 我只需要名字:

c:\temp\f1.txt
c:\temp\f2.txt

这样的XML:

<root name="name" id="12">
<class1>
     <file name="c:\temp\f1.txt">
</class1>
<class1>
   <subclass1>
        <file name="c:\temp\f2.txt">
    </subclass1>
</class1>
</root>

1 个答案:

答案 0 :(得分:2)

declare @XML xml 
set @XML = '
<root name="name" id="12">
  <class1>
       <file name="c:\temp\f1.txt"/>
  </class1>
  <class1>
     <subclass1>
          <file name="c:\temp\f2.txt"/>
      </subclass1>
  </class1>
</root>'

select T.N.value('@name', 'nvarchar(100)') as FileName
from @XML.nodes('//file') as T(N)