由于工作的需要,要求打印网页。而且是网页中的指定内容。有点多
Transact-SQL 支持用于查询 数据类型的 XQuery 语言的子集。此 XQuery 实现符合 2004 年 7 月的 XQuery 工作草案。该语言正在由 World Wide Web 联合会 (W3C) 开发,所有主要供应商和 Microsoft 也参与此开发。由于 W3C 规范在成为 W3C 建议之前还可能进行修订,因此此实现可能与最终的建议有所不同。本主题概要介绍了 2005 中所支持的 XQuery 子集的语义和语法。
有关详细信息,请参阅 。
XQuery 是一种可以查询结构化或半结构化 XML 数据的语言。由于 SQL Server 2005 Database Engine 中提供 xml 数据类型支持,因此可以将文档存储在数据库中,然后使用 XQuery 进行查询。
XQuery 基于现有的 XPath 查询语言,并支持更好的迭代、更好的排序结果以及构造必需的 XML 的功能。XQuery 在 XQuery 数据模型上运行。此模型是 XML 文档以及可能为类型化也可能为非类型化的 XQuery 结果的抽象概念。类型信息基于 W3C XML 架构语言所提供的类型。如果没有可用的类型化信息,XQuery 将按照非类型化处理数据。这与 XPath 1.0 版处理 XML 的方式相似。
若要查询 xml 类型的变量或列中存储的 XML 实例,可以使用 xml 数据类型方法。例如,可以声明一个 xml 类型的变量,然后使用 xml 数据类型的 query() 方法来查询此变量。
DECLARE @x xml
SET @x = '<ROOT><a>111</a></ROOT>'
SELECT @x.query('/ROOT/a')
在下面的示例中,查询是针对 AdventureWorks 数据库中 ProductModel 表的 xml 类型的 Instructions 列指定的。
SELECT Instructions.query('declare namespace AWMI="http://schemas.microsoft.com
/sqlserver/2004/07/adventure-works/ProductModelManuInstructions";
/AWMI:root/AWMI:Location[@LocationID=10]
') as Result
FROM Production.ProductModel
WHERE ProductModelID=7
XQuery 包含命名空间声明(declare namespace
AWMI=...
)和查询表达式(/AWMI:root/AWMI:Location[@LocationID=10]
)。
请注意,XQuery 是针对 xml 类型的 Instructions 列指定的。XML 数据类型的 query() 方法(XML 数据类型)用于指定 XQuery。