- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
利用OpenXML获取XML文件中的数据
利用OpenXML获取XML文件中的数据
一、OPENXML(选至SQL SERVER联机丛书)
OPENXML 通过 XML 文档提供行集视图。由于OPENXML 是行集提供程序,因此可在会出现行集提供程序(如表、视图或 OPENROWSET 函数)的 Transact-SQL 语句中使用 OPENXML。
语法
OPENXML(idoc int [in],rowpattern nvarchar[in],[flags byte[in]]) [WITH (SchemaDeclaration | TableName)]
参数
idoc
是 XML 文档的内部表式法的文档句柄。通过调用 sp_xml_preparedocument 创建 XML 文档的内部表式法。
rowpattern
是 XPath 模式,用来标识要作为行处理的节点(这些节点在 XML 文档中,该文档的句柄由 idoc 参数传递)。
flags
表示应在 XML 数据和关系行集间使用映射以及应如何填充溢出列。flag 为可选输入参数,可以是下列值之一。
字节值
描述
0
默认为以特性为中心的映射。
1
使用以特性为中心的映射。在某些情况下,可以将它与 XML_ELEMENTS 组合使用。使用时首先应用以特性为中心的映射,然后对于所有仍未处理的列应用以元素为中心的映射。
2
使用以元素为中心的映射。在某些情况下,可以将它与 XML_ATTRIBUTES 组合使用。使用时先应用以特性为中心的映射,然后对于所有仍未处理的列应用以元素为中心的映射。
8
可与 XML_ATTRIBUTES 或 XML_ELEMENTS 组合使用(逻辑 OR)。在检索的上下文中,该标志指明不应将已消耗的数据复制到溢出属性 @mp:xmltext。
SchemaDeclaration
是窗体的架构定义:ColName ColType [ColPattern | MetaProperty][, ColName ColType [ColPattern | MetaProperty]...]
ColName
是行集中的列名。
ColType
是行集中列的 SQL 数据类型。如果列类型不同于特性的基础 XML 数据类型,那么将发生类型压制。如果列的类型是 TIMESTAMP,则当从 OPENXML 行集中进行选择时,将忽略 XML 文档中现有的值并返回自动填充值。
ColPattern
是可选的通用 XPath 模式,它说明应如何将 XML 节点映射到列。如果没有指定 ColPattern,那么发生默认的映射(由 flags 指定的以特性为中心或以元素为中心的映射)。
指定为 ColPattern 的 XPath 模式用于指定特殊的映射性质(如果发生以特性为中心和以元素为中心的映射),这些特殊的映射性质可以重写或增强由标志所指定的默认映射。
指定为 ColPattern 的通用 XPath 模式也支持元属性。
MetaProperty
是由 OPENXML 提供的元属性之一。如果指定元属性,则该列包含元属性提供的信息。这些元属性使您得以析取 XML 节点的信息(如相对位置、命名空间信息),以提供比文本化表示法更详细的信息。
TableName
如果具有期望架构的表已经存在且不要求列模式,则为给定的表名(而不是 SchemaDeclaration)。
通过使用 SchemaDeclaration 或者指定一个现有的 TableName,WITH 子句提供一种行集格式(根据需要还提供其它映射信息)。如果没有指定可选的 WITH 子句,那么以 edge table 格式返回结果。边缘表在单个表中表示 XML 文档的细密结构(例如,元素/特性名、文档层次结构、命名空间、PI 等)。
下表描述边缘表的结构。
列名
数据类型
描述
id
bigint
是文档节点的唯一 ID。
根元素的 ID 值为 0。保留负 ID 值。
parentid
bigint
标识节点的父节点。此 ID 所标识的父节点不一定是父元素,而是取决于此 ID 所标识节点的子节点的 NodeType。例如,如果节点是文本节点,则其父节点可能是特性节点。
如果节点位于 XML 文档的顶层,则其 ParentID 为 NULL。
nodetype
int
标识节点类型。是对应于 XML DOM 节点类型编号的整数(有关节点信息,请参见 DOM)。
三种节点类型是:
1 = 元素节点2 = 特性节点3 = 文本节点
localname
nvarchar
给出元素或特性的本地名称。如果 DOM 对象没有名称则为 NULL。
prefix
nvarchar
是节点名称的命名空间前缀。
namespaceuri
n
您可能关注的文档
最近下载
- 23G409 先张法预应力混凝土管桩 conv.docx VIP
- WIP.010-SIE EBS标准化操作手册- 按订单装配 (ATO) 制造.pdf VIP
- 2025入团考试100题题库(含答案).pdf VIP
- SG111-1~2:建筑结构加固施工图设计表示方法建筑结构加固施工图设计深度图样(2008合订本).docx VIP
- 最新水利工程维护养护定额标准.docx VIP
- IQ-FMECA软件操作手册—功能与使用.pdf VIP
- WIP.006-SIE EBS标准化操作手册-资源事务处理.pdf VIP
- WIP.009-SIE EBS标准化操作手册-离散任务状态.pdf VIP
- 消防维保质量保证体系.docx VIP
- 2024年四川成都交通投资集团有限公司招聘笔试真题.docx VIP
文档评论(0)