位置: 编程技术 - 正文
推荐整理分享使用sp_xml_preparedocument处理XML文档的方法(使用筷子就餐会不会传染乙肝病毒),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:使用粗盐热敷十大危害,使用筷子就餐会不会传染乙肝病毒,使用的拼音,使用的英文,使用粗盐热敷十大危害,使用的拼音,使用灭火器时要对准火焰的什么部位喷射,使用灭火器时要对准火焰的什么部位喷射,内容如对您有帮助,希望把文章链接给更多的朋友!
有时会在存储过程中处理一些XML格式的数据,所以会用到sp_xml_preparedocument,他可以将XML数据进行读取,然后使用 MSXML 分析器 (Msxmlsql.dll) 对其进行分析。我们就可以很容易的在存储过程中得到XML中我们想要的数据。下面的代码就是使用sp_xml_preparedocument读取XML: 上面只是读取了XML,要想获取XML数据还需要使用OPENXML,代码如下: OPENXML有三个参数: 第一个是sp_xml_preparedocument读取是的OUTPUT参数,在本示例中就是@hdoc; 第二个是一个XPath表达式,用来获取指定位置的数据; 第三个是一个可选项,用来表示获取的方式,有0,1,2,8四种取值,详细解释请看 FROM后面的WITH也是可选的,用来指定获取哪些数据字段,上面代码中只取了CustomerID和ContactName。上面的查询结果如下: CustomerID ContactName —————————————- —————————————- VINET Paul Henriot LILAS Carlos Gonzlez 如果不指定WITH子句,查询出来的是一个默认的表结构,如下:
表格列的解释说明:
列名数据类型说明idbigint文档节点的唯一 ID。
根元素的 ID 值为 0。保留负 ID 值。
parentidbigint标识节点的父节点。此 ID 标识的父节点不一定是父元素。具体情况取决于此 ID 所标识节点的子节点的节点类型。例如,如果节点为文本节点,则其父节点可能是一个属性节点。如果节点位于 XML 文档的顶层,则其 ParentID 为 NULL。
节点类型int标识节点类型,是对应于 XML 对象模型 (DOM) 节点类型编号的一个整数。下列值是可以显示在此列中以指明节点类型的值:
1 = 元素节点
2 = 属性节点
3 = 文本节点
4 = CDATA 部分节点
5 = 实体引用节点
6 = 实体节点
7 = 处理指令节点
8 = 注释节点
9 = 文档节点
= 文档类型节点
= 文档片段节点
= 表示法节点
有关详细信息,请参阅 Microsoft XML (MSXML) SDK 中的“节点类型属性”主题。
localnamenvarchar(max)提供元素或属性的本地名称。如果 DOM 对象没有名称,则为 NULL。prefixnvarchar(max)节点名称的命名空间前缀。namespaceurinvarchar(max)节点的命名空间 URI。如果值是 NULL,则命名空间不存在。datatypenvarchar(max)元素或属性行的实际数据类型,否则是 NULL。数据类型是从内联 DTD 中或从内联架构中推断得出。prevbigint前一个同级元素的 XML ID。如果前面没有同级元素,则为 NULL。textntext包含文本形式的属性值或元素内容。如果边缘表项不需要值则为 NULL。在WITH子句中,我们还可以通过设置来获取父级元素的属性值:查询的结果为: OrderID CustomerID OrderDate ProdID Qty ———? ———- ———————? ———? ———? VINET -- ::. VINET -- ::. LILAS -- ::. 3 有时候XML中的数据并不是以属性的方式存在,而是直接放在节点中,如下: 此时要获Order节点下的各项的值,可以用下面方法: 查询结果如下: OrderID CustomerID EmployeeID OrderDate ———? ———- ———? ———————? VINET 5 -- ::. 可以看出是取属性值还是取节点的文本的值区别在于WITH子句的第三个参数是否有@符号
SQL查询入门(上篇) 推荐收藏 SQL语言是一门简单易学却又功能强大的语言,它能让你快速上手并写出比较复杂的查询语句。但对于大多数开发者来说,使用SQL查询数据库并没有一个
SQL查询入门(中篇) 引言在前篇文章中(SQL查询入门(上篇),我对数据库查询的基本概念以及单表查询做了详细的解释,本篇文章中,主要说明SQL中的各种连接以及使用范围
SQLServer 镜像功能完全实现 在域环境下我没配置成果,也许是域用户的原因,因为我在生产环境下搞的,更改域用户需要重启SQLServer,所以这个方法放弃了,只能用证书形式。环
标签: 使用筷子就餐会不会传染乙肝病毒
本文链接地址:https://www.jiuchutong.com/biancheng/348832.html 转载请保留说明!友情链接: 武汉网站建设