SQL Server XML数据类型

时间:2011-04-06 17:43:19

标签: sql sql-server-2005

我在SQL Server 2005 SP4中有一个表;其中一列将是XML数据类型。

问题是我的XML可以有三种不同的格式。 (即XML不相同,但最多可以有三种不同的格式)我想使用类型化的XML

问题a)我可以创建具有三种不同xml

的XML模式的XML模式集合

我在adventureworks数据库,Production.ProductModel中看到一个表,其中catalogdescription列有三个不同的模式应用于它。

b)将从ASP.net webform生成XML;我应该在ASP.net中构建XML还是将所有表单数据放入SQL并在那里构建XML?

谢谢

1 个答案:

答案 0 :(得分:1)

对于你的第一个问题 - 是的,你可以定义一个XML模式集合,它可以 - 正如“集合”所暗示的那样 - 包含多个XML模式:

-- First create an XML schema collection.
CREATE XML SCHEMA COLLECTION MySchemaCollection 
  AS '<schema .......> ...... </schema>'

-- Modify the collection. 
ALTER XML SCHEMA COLLECTION MySchemaCollection 
  ADD '<schema ......>  ...... </schema>'

这样,您可以为三种类型的XML数据定义三个单独的Schemat。

有关详细信息,请参阅MSDN文档Managing XML Schema Collections in SQL Server

关于你的第二个问题:我猜想在你的ASP.NET应用程序中创建它并在生成它之后存储它可能更容易 - 否则你必须首先以某种关系形式存储数据(表)然后从那些生成XML。