文档介绍:第24章处理XML数据
XML称为可扩展标记语言,它作为一种数据库存储格式已经在互联式和企业应用广泛的使用,XML标准具有多种先进的特性。SQL Server 2005数据库完全支持XML,主要体现在支持xml数据类型和对XML数据的处理上。
XML概述
XML是一种由语言,它的许多先进特性决定了它被各类行业广泛的使用。本节就XML及其基本特性做一介绍。
理解XML
XML是Extensible Markup Language的缩写,即可扩展标记语言,它是一种用户可以用来创建自己的标记的标记语言。它由万维网协会(W3C)创建,用来克服HTML(即超文本标记语言)的局限。和HTML一样,XML基于SGML―标准通用标记语言(Standard Generalized Markup Language)。
XML的特性
XML继承了SGML的许多特性。
(1)可扩展性。(2)灵活性。(3)自描述性。(4)简明性。
SQL Server 2005数据库对xml的支持
SQL Server对XML的支持已集成到SQL Server 2005数据库产品的所有组件中,这种支持主要体现在以下几个方面。
支持xml数据类型。
可以针对xml类型的列和变量中存储的XML数据使用XQuery查询。
增强了OPENROWSET以允许批量加载XML数据。
增强了FOR XML子句和OPENXML函数的功能。
使用FOR XML子句和OPEN XML函数
SQL Server 2005对XML的支持最重要的就是支持使用FORXML子句和OPENXML函数。FOR XML子句用于执行SQL查询,并将结果返回为XML格式,而不是标准数据行集的形式,同样,用户可以使用T-SQL OPENXML函数插入以XML文档形式表示的数据。
使用FOR XML
FOR XML用于执行SQL查询将结果返回为XML,而不是标准数据行。这些查询可以直接执行,也可以从存储过程和用户定义函数中执行。对于直接检索结果,要使用SELECT语句的FOR XML子句。然后,在FOR XML子句中,指定XML模式:RAW、AUTO、EXPLICIT或PATH。(具体内容请参照书。)
使用OPENXML
OPENXML可以理解为FOR XML的逆向操作,用户可以使用函数OPENXML解析XML文档并以行集的形式表示数据。若要使用OPENXML编写对XML文档执行的查询,必须先调用sp_xml_preparedocument存储过程。它将分析XML文档并向准备使用的“已分析文档”返回一个句柄。“已分析文档”以文档对象模型(DOM)树的形式说明XML文档中的各种节点。该文档通过内存句柄传递给OPENXML。然后OPENXML根据传递给它的参数提供一个该文档的行集视图,(具体内容请参照书。)
XML数据类型
用户可以使用xml数据类型,它可以用于在SQL Server数据库中存储XML文档和片段。本节讲述xml数据类型的定义和使用。
XML数据类型
用户可以在表中创建xml类型的数据列和也可以创建xml类型的变量,并在其中存储XML数据。用户也可以选择将XML架构集合与xml数据类型的列、参数或变量相关联。集合中的架构用于验证和类型化XML实例,这时称xml数据是类型化的。(具体内容请参照书。)