WEB开发网
开发学院数据库MSSQL Server 从 SQL Server 2005 中处理 XML 阅读

从 SQL Server 2005 中处理 XML

 2007-05-13 09:26:22 来源:WEB开发网   
核心提示: 要进行客户端的 XML 架构验证,您可以使用 T-SQL 函数 xml_schema_namespace() 检索 SQL Server XML SCHEMA COLLECTION,从 SQL Server 2005 中处理 XML(9),这需要 XML 架构集合名称和数据库架构名称,因为

要进行客户端的 XML 架构验证,您可以使用 T-SQL 函数 xml_schema_namespace() 检索 SQL Server XML SCHEMA COLLECTION。这需要 XML 架构集合名称和数据库架构名称,因为 XML 架构集合包括数据库架构。我们可以将它们硬编码到程序中,或者从客户端行集元数据提取它们。通过使用上面的 SqlDataReaderGetSchemaTable 方法或使用新的 SqlMetaData 类,获取与一个特定列相关联的架构集合的名称是很容易的。这里有一小段代码示例:

using System;
using System.Data;
using System.Data.SqlClient;
using System.Data.Sql;
void GetCollectionInfo {
// get a connection string from a config file
string s = GetConnectStringFromConfigFile("xmldb");
using (SqlConnection conn = new SqlConnection(s))
using (SqlCommand cmd = new SqlCommand(
    "select books_col from typed_xml", conn))
{
 conn.Open();
 // fetch only SQL Server metadata
 SqlDataReader rdr = cmd.ExecuteReader(CommandBehavior.SchemaOnly);
 SqlMetaData md = rdr.GetSqlMetaData(0);
 string database = md.XMLSCHEMACollectionDatabase;
 string schema = md.XMLSCHEMACollectionOwningSchema;
 string collection = md.XMLSCHEMACollectionName;
}
}

一旦您了解要检索哪个 XML 架构集合,就可以使用 T-SQL 函数将其检索到客户端 XMLSCHEMASet 中。请注意,此示例还展示了如何使用 XmlReader 检索片段。这是必需的,因为 XML SCHEMA COLLECTION 中的 XML 架构可能不止一个;xml_schema_namespace 函数会将集合中的所有 XML 架构作为一个片段返回。

上一页  4 5 6 7 8 9 10  下一页

Tags:SQL Server 处理

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接