从XML变量中选择

时间:2014-05-19 21:13:28

标签: sql-server tsql

如何从以下内容中为每个X获取一行:

<XML>
  <X>apple</X>
  <X>pear</X>
  <X>orange</X>
</XML>

我试过

SELECT N.value('.', 'varchar(25)') as value FROM @TitlesXML.nodes('/XML') as T(N)

但我得到的是

applepearorange

我尝试的其他任何东西都没有给我带来任何好处。

1 个答案:

答案 0 :(得分:2)

试试这个..

DECLARE @TitlesXML XML = N'<XML>
                            <X>apple</X>
                            <X>pear</X>
                            <X>orange</X>
                           </XML>'

SELECT N.value('.[1]', 'varchar(25)') as value 
FROM @TitlesXML.nodes('/XML/X') as T(N)

结果集

╔════════╗
║ value  ║
╠════════╣
║ apple  ║
║ pear   ║
║ orange ║
╚════════╝