time 
设为首页】【收藏本站
当前位置: 主页 > 数据库 > SQL Server > SQL 基础 > 使用SQL Server的OpenXML解析带有命名空间的XML片段

使用SQL Server的OpenXML解析带有命名空间的XML片段

时间:2010-05-04 22:58 点击:1221次 字体:[ ]




SQL Server的OpenXML函数可以针对XML片段或者文档进行解析,并处理。有关资料,你可以参考http://msdn.microsoft.com/en-us/library/ms186918.aspx

但如果该片段含有命名空间,情况可能会复杂一点。例如下面这个例子

第一部分:XML的内容

 

第二部分:查询语法

 

 

 

 1使用SQL Server的OpenXML解析带有命名空间的XML片段_www.fengfly.comDECLARE @XML XML
 2使用SQL Server的OpenXML解析带有命名空间的XML片段_www.fengfly.comDECLARE @HANDLER INT
 3使用SQL Server的OpenXML解析带有命名空间的XML片段_www.fengfly.comSELECT @XML=CatalogDescription FROM Production.ProductModel WHERE ProductModelID=19 
 4使用SQL Server的OpenXML解析带有命名空间的XML片段_www.fengfly.com
 5使用SQL Server的OpenXML解析带有命名空间的XML片段_www.fengfly.comEXEC SP_XML_PREPAREDOCUMENT @HANDLER OUTPUT,@XML,'<root xmlns:p1="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelDescription" />' 
 6使用SQL Server的OpenXML解析带有命名空间的XML片段_www.fengfly.com
 7使用SQL Server的OpenXML解析带有命名空间的XML片段_www.fengfly.com--这里要为PREPAREDOCUMENT存储过程加入第三个参数,就是命名空间的声明 
 8使用SQL Server的OpenXML解析带有命名空间的XML片段_www.fengfly.com
 9使用SQL Server的OpenXML解析带有命名空间的XML片段_www.fengfly.comSELECT * FROM OPENXML(@HANDLER,'/p1:ProductDescription/p1:Manufacturer',2WITH ([Name] NVARCHAR(50'p1:Name',CopyRight NVARCHAR(50'p1:Copyright'
10使用SQL Server的OpenXML解析带有命名空间的XML片段_www.fengfly.com
11使用SQL Server的OpenXML解析带有命名空间的XML片段_www.fengfly.comEXEC SP_XML_REMOVEDOCUMENT @HANDLER  --一定不要忘记REMOVE 
12使用SQL Server的OpenXML解析带有命名空间的XML片段_www.fengfly.com

 

第三部分:显示结果(这是我写的一个小的演示工具)

使用SQL Server的OpenXML解析带有命名空间的XML片段_www.fengfly.com

转自:http://www.cnblogs.com/chenxizhang/archive/2008/06/22/1227521.html



本文地址 : http://www.fengfly.com/plus/view-174700-1.html
标签: SQL Server OpenXML 命名空间 XML片段
------分隔线----------------------------
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码: