您如何阅读SQL Server 2005中的XML数据

时间:2011-08-11 15:40:01

标签: sql sql-server xml sql-server-2005 tsql

我有一个表格,其XMLData列为TEXT。我如何阅读本专栏中的数据

2 个答案:

答案 0 :(得分:3)

只要该列属于TEXT类型,您就无法使用它做任何有用的事情。 TEXT也已被弃用,will be removed in a future version of SQL Server - 停止使用它。

如果它存储XML而只存储XML - 使其为数据类型XML

您可以使用XPath和XQuery从该XML中提取单个信息项 - 例如:

SELECT
    YourXMlColumn.value('(/Root/SomeItems/Item/FirstName)[1]', 'varchar(50)') as 'FirstName',
    YourXMlColumn.value('(/Root/SomeItems/Item/Age)[1]', 'int') as 'Age'
FROM
    dbo.YourTable
WHERE
    (some condition)

或者如果在XML中的类似列表的结构中有多个项目,则可以基于XPath表达式创建XML项目的“伪表”。

所以你的行动计划应该是:

  1. 使此列使用适当的数据类型 - XML
  2. 更详细地告诉我们您在那里存储了哪种XML,以及您希望从该XML获得什么

答案 1 :(得分:0)

使您的列成为XML数据类型而不是TEXT。以下MSDN文章详细描述了sql server中XML的支持方式:

http://msdn.microsoft.com/en-us/library/ms345117(v=sql.90).aspx