处理XML数据
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
24.1 XML概述
• XML是一种由国际标准化组织创建的基于互联网的 标记语言,它的许多先进特性决定了它被各类行 业广泛的使用。本节就XML及其基本特性做一介绍。
24.1.1 理解XML
• XML是Extensible Markup Language的缩写,即可 扩展标记语言,它是一种用户可以用来创建自己 的标记的标记语言。它由万维网协会(W3C)创建, 用来克服HTML(即超文本标记语言)的局限。和 HTML一样,XML基于SGML―标准通用标记语言 (Standard Generalized Markup Language)。
24.1.2 XML的特性
• XML继承了SGML的许多特性。 • (1)可扩展性。(2)灵活性。(3)自描述性。 (4)简明性。
24.1.3 SQL Server 2005数据库对xml的 支持
• SQL Server对XML的支持已集成到SQL Server 2005数据库产品的所有组件中,这种支持主要体 现在以下几个方面。 • 支持xml数据类型。 • 可以针对xml类型的列和变量中存储的XML数据使 用XQuery查询。 • 增强了OPENROWSET以允许批量加载XML数据。 • 增强了FOR XML子句和OPENXML函数的功能。
24.2.2 使用OPENXML
• OPENXML可以理解为FOR XML的逆向操作,用户可 以使用函数OPENXML解析XML文档并以行集的形式 表示数据。若要使用OPENXML编写对XML文档执行 的查询,必须先调用sp_xml_preparedocument存 储过程。它将分析XML文档并向准备使用的“已分 析文档”返回一个句柄。“已分析文档”以文档 对象模型(DOM)树的形式说明XML文档中的各种 节点。该文档通过内存句柄传递给OPENXML。然后 OPENXML根据传递给它的参数提供一个该文档的行 集视图,(具体内容请参照书。)
24.2.1 使用FOR XML
• FOR XML用于执行SQL查询将结果返回为XML,而不 是标准数据行。这些查询可以直接执行,也可以 从存储过程和用户定义函数中执行。对于直接检 索结果,要使用SELECT语句的FOR XML子句。然后, 在FOR XML子句中,指定XML模式:RAW、AUTO、 EXPLICIT或PATH。(具体内容请参照书。)
24.2 使用FOR XML子句和OPEN XML 函数
• SQL Server 2005对XML的支持最重要的就是支持 使用FORXML子句和OPENXML函数。FOR XML子句用 于执行SQL查询,并将结果返回为XML格式,而不 是标准数据行集的形式,同样,用户可以使用TSQL OPENXML函数插入以XML文档形式表示的数据。
24.3.2 XML数据类型方法
• 用户可以使用XQuery来查询存储在列、参数或变量中的XML 数据。还可以使用XML数据操作语言对XML数据进行处理。 • 这些处理XML数据类型的方法主要包括: • query()方法,此方法用于对XML实例进行查询。 • value()方法,此方法用于从XML实例检索SQL类型的值。 • exist()方法,此方法用于确定查询是否返回非空结果。 • modify()方法,此方法用于指定XML DML语句以执行更新。 • nodes()方法,此方法用于将XML拆分成多行以将XML文档的 组成部分传递到行集中。(具体内容请参照书。)
24.3 XML数据类型
• 用户可以使用xml数据类型,它可以用于在SQL Server数据库中存储XML文档和片段。本节讲述 xml数据类型的定义和使用。
24.中创建xml类型的数据列和也可以创 建xml类型的变量,并在其中存储XML数据。用户 也可以选择将XML架构集合与xml数据类型的列、 参数或变量相关联。集合中的架构用于验证和类 型化XML实例,这时称xml数据是类型化的。(具 体内容请参照书。)