`
javababy1
  • 浏览: 1202614 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

分解XML

XML 
阅读更多

分解XML

DECLARE @xmlvar xml

set @xmlvar = '

<Data>

<Student id="s1">

<Name>Bugs Bunny</Name>

<Class>FFA</Class>

</Student>

<Student id="s2">

<Name>Road Runner</Name>

<Class>Sports</Class>

</Student>

<Student id="s3">

<Name>Wile E. Coyote</Name>

<Class>Science</Class>

</Student>

<Student id="s4">

<Name>Foghorn Leghorn</Name>

<Class>Self Defense</Class>

</Student>

</Data>'

--1

SELECT

A.student.value('@id','varchar(10)') AS id,

A.student.value('Name[1]','varchar(20)') AS Name,

A.student.value('Class[1]','varchar(20)') AS Class,

row_number() over (order by getdate()) AS ndx

FROM @xmlvar.nodes('/Data/Student') AS A(student)

--2

SELECT

A.student.value('@id','varchar(10)') AS id,

A.student.value('Name[1]','varchar(20)') AS Name,

A.student.value('Class[1]','varchar(20)') AS Class,

A.student.value('for $i in . return count($i/../*[.<<$i])+1','int') AS ndx

FROM @xmlvar.nodes('/Data/Student') AS A(student)

--3

DECLARE @docHandle int

EXEC sp_xml_preparedocument @docHandle OUTPUT, @xmlvar

SELECT * ,row_number() over (order by getdate()) AS ndx

FROM OPENXML(@docHandle, N'/Data/Student/Class')

WITH (id char(2) '../@id',name varchar(20) '../Name',class varchar(20) '../Class' )

EXEC sp_xml_removedocument @docHandle

--结果

/*

id Name Class ndx

---------- -------------------- -------------------- -----------

s1 Bugs Bunny FFA 1

s2 Road Runner Sports 2

s3 Wile E. Coyote Science 3

s4 Foghorn Leghorn Self Defense 4

(4 行受影响)

id Name Class ndx

------- -------------------- -------------------- --------------------

s1 Bugs Bunny FFA 1

s2 Road Runner Sports 2

s3 Wile E. Coyote Science 3

s4 Foghorn Leghorn Self Defense 4

(4 行受影响)

id name class ndx

---- -------------------- -------------------- --------------------

s1 Bugs Bunny FFA 1

s2 Road Runner Sports 2

s3 Wile E. Coyote Science 3

s4 Foghorn Leghorn Self Defense 4

(4 行受影响)

*/

分享到:
评论

相关推荐

    如何在SQL Server 2005中用XQuery分解XML数据

    ### 如何在SQL Server 2005中用XQuery分解XML数据 #### XQuery与SQL Server 2005的结合 XQuery作为一种强大的查询语言,被设计用于处理XML数据,它允许开发者精确地从XML文档中抽取所需的数据。随着SQL Server ...

    SQL Server2005中用XQuery分解XML数据

    4. **xml.nodes**: 对于需要将XML数据分解成关系数据的情况,`xml.nodes`非常有用。它接收一个XQuery表达式,返回一个包含XML变量中逻辑标量数据的行集。这样,每个节点可以映射到结果集的一行,便于在关系表中处理...

    解析xml中的java包

    本章目标 1. 了解什么是xml? 1.1 什么是xml? 可扩展的标记语言。 ...1.2 为什么需要使用xml?...a) 可用用来做为软件系统的配置...(大型xml文件,建议:分解xml文件) 事件模型:Sax 特点:性能高、编码非常复杂。

    易语言源码易语言XML对象操作源码.rar

    2. XML对象模型:XML对象模型是对XML文档的一种抽象表示,它将XML文档分解为节点,如元素节点、文本节点、属性节点等。易语言中的XML对象提供了一系列方法,如`创建元素`、`添加子元素`、`获取属性值`等,用于操作...

    读取PLC寄存器,读写XML文件

    1. **解析XML**:解析XML文件意味着将其内容分解成易于处理的元素。Python中的`ElementTree`库和Java的`DOM` API都是常用的解析工具。它们可以将XML文件转换为树形结构,便于遍历和操作。 2. **读取XML**:通过解析...

    XML查看工具

    1. **节点明细**:工具将XML文档的元素结构分解为可读的节点层级,每个节点都清晰地标记出其类型(元素、属性、文本等)和内容,便于用户快速理解。 2. **搜索功能**:内置的搜索工具允许用户快速查找文档中的特定...

    走进 SQL/XML

    在【描述】中提到,XML数据在当前的生产系统中扮演着关键角色,但过去存储、查询和更新XML数据的方式往往复杂且效率低下,如将XML数据分解到关系表中。Oracle在Oracle9i数据库第2版中引入了Oracle XML DB特性,解决...

    XMl 教程 ppt加实例

    XML(eXtensible Markup...最后,PPT的形式通常会使得信息呈现更为直观,包括清晰的图表、步骤分解和总结,帮助学习者更好地理解和记忆XML的关键概念和实践技巧。结合课本一起学习,能形成更全面的理解,提升学习效果。

    XML-Parser-2.4.4 官方源码

    词法分析将输入的XML文档分解成一系列的标记(Tokens),如元素(Element)、属性(Attribute)、文本(Text)等。语法分析则根据这些标记构建XML文档的抽象语法树(AST)。 3. **事件驱动模型**:XML-Parser-2.4.4...

    xml转EXCEL软件

    1. **XML解析**:软件首先读取XML文件,使用解析器分解文件结构,理解元素和属性。 2. **数据映射**:解析后的数据需要映射到Excel的单元格中,这涉及到对XML结构的理解和转换规则的设定。 3. **样式和格式化**:...

    SQL链接和操作XML文件

    `value()`用于从XML文档中提取单个值,`nodes()`将XML文档分解为行集,`exist()`检查XML文档是否匹配某个XPath表达式。 接下来,我们将讨论如何在SQL Server中链接和操作XML文件: 1. **导入XML文件**:你可以使用...

    xml.zip_XML 解析_XML解析_xml linux

    对于“XML的字符解析和分解”,这可能指的是处理XML中的特殊字符和实体。XML定义了一些预定义实体,如`&amp;`代表`&`,`&lt;`代表`,`&gt;`代表`&gt;`,以及`&quot;`和`&apos;`分别代表`"`和`'`。在解析XML时,需要正确...

    xml binary soap 序列化

    SOAPME尝试将XML元素和属性转换为更小的二进制表示,而SWBXML则使用一种高效的二进制编码方法,将XML文档分解为一系列的标识符,大大减少了数据量。这些编码技术可以显著降低SOAP消息的大小,提升网络通信性能。 3....

    xml_db.rar_XML java_XML系统_xml 数据库_基于xml

    语法分析涉及将XML文档分解成解析树,而词法分析则是识别XML文档中的各个令牌,如标签、属性和文本。 2. **XML数据库引擎**:这部分可能是系统的核心,负责存储、索引和查询XML文档。它需要高效地处理大量的XML数据...

    Open XML SDK OpenXML Tool 开发工具

    Open XML是微软定义的一种开放标准文件格式,它将Office文档内容分解为多个XML文件,存储在一个ZIP容器中。这种格式使得开发者可以直接访问和操作文档的各个部分,包括文本、样式、图片、图表等。 **Open XML SDK...

    SQL 解析XML数据示例

    例如,我们可以通过`.value`方法提取特定节点的值,`.nodes`方法可以将XML文档分解为行集,`.query`则用于执行XPath查询,`.exists`检查是否存在某个节点。 ```sql DECLARE @xml XML = N'&lt;root&gt;...&lt;/root&gt;'; -- ...

    XML 数据库设计

    非原生XML数据库,如关系型数据库通过扩展支持XML,如Oracle的XML DB,将XML文档分解并存储在关系表中,然后提供API或SQL扩展来处理XML。 XML数据库设计的流程通常包括以下几个步骤: 1. **需求分析**:确定需要...

    PB做标准XML解析器

    2. **解析XML**:使用解析器将XML文档分解成可操作的元素和属性。解析过程可以是DOM(Document Object Model)方式,一次性加载整个XML结构到内存,或者SAX(Simple API for XML)方式,逐事件处理XML流。 3. **...

    XML高级编程pdf

    7.1.1 分解问题 7.1.2 重用 7.1.3 二义性与名称冲突 7.2 命名空间 7.3 定义和声明命名空间 7.3.1 声明一个命名空间 7.3.2 限定名 7.3.3 范围 7.4 在格式正规的书籍里使用命名空间 实例 7.5 模式 7.5.1 与...

Global site tag (gtag.js) - Google Analytics