SQL TO XML
1、AUTO模式:返回数据表为起表名的元素,每一列的值返回为属性;
2、RAW模式:返回数据行为元素,每一列的值作为元素的属性;
3、PATH模式:通过简单的XPath语法来允许用户自定义嵌套的XML结构、元素、属性值
4、EXPLICIT模式:通过SELECT语法定义输出XML的结构
具体实例如下:
1、AUTO模式
(1). SQL语句:
1: SELECT EmployeeID,FirstName,LastName FROM Employees FOR XML AUTO, XMLSCHEMA
(2). 所生成的XML文件:
返回XML文件的XML Schema
xsd:restriction>xsd:simpleType>xsd:attribute>xsd:restriction>xsd:simpleType>xsd:attribute>xsd:complexType>xsd:element>xsd:schema>
2、RAW模式
1: ----将元素命名为自定义的名称Employee2: SELECT EmployeeID,FirstName,LastName FROM Employees FOR XML RAW (''Employee'') (2). 所生成的XML文件: 1:2:3:4:5:6:7:8:9:
3、PATH模式:
(1). SQL语句:
SELECT EmployeeID "@ID",FirstName "Name/FirstName",LastName "Name/LastName"
FROM Employees FOR XML PATH (''Employee'')
(2). 所生成的XML文件
NancyFirstName>DavolioLastName>Name>Employee>AndrewFirstName>FullerLastName>Name>Employee>JanetFirstName>LeverlingLastName>Name>Employee>MargaretFirstName>PeacockLastName>Name>Employee>StevenFirstName>BuchananLastName>Name>Employee>MichaelFirstName>SuyamaLastName>Name>Employee>RobertFirstName>KingLastName>Name>Employee>LauraFirstName>CallahanLastName>Name>Employee>
4、EXPLICIT模式
问题:加入要生成如下的XML文档该如何操作?
Nancy Davolio EXPLICIT模式解决这个问题的应用分为两个主要步骤
1.定义要输出的XML文档结构;
2.传入实际的数据值;
(1). SQL语句:
--定义输出XML文档的数据结构SELECT 1 AS Tag, NULL AS Parent, EmployeeID AS [Employee!1!EmpID], FirstName AS [Employee!1!FirstName!element], LastName AS [Employee!1!LastName!element]FROM Employees UNION ALL--传入实际的数据SELECT 1, NULL, EmployeeID, FirstName, LastNameFROM EmployeesORDER BY [Employee!1!EmpID],[Employee!1!FirstName!element], [Employee!1!LastName!element]FOR XML EXPLICIT
语句含义的解释:
先看看定义XML结构的语句输出结果:
Tag栏用来指定生成元素的嵌套水平;1表示嵌套水平为
Parent栏用来指定当前Tag的父级层次;Null值表示该元素为顶级元素;
EmployeeID AS [Employee!1!EmpID],
说明:当前元素或属性的父级元素的名称!元素的标签号!元素或属性的名称
FirstName AS [Employee!1!FirstName!element],
说明:当前元素或属性的父级元素的名称!元素的标签号!元素或属性的名称!指定值作为元素输出
5、为输出的XML文档添加根元素(Root element)
(1). SQL语句:
SELECT EmployeeID,FirstName,LastName FROM Employees FOR XML AUTO, ROOT(''MyRoot'')
(2). 所生成的XML文件
MyRoot>
转载于:https://www.introzo.com/Veakey/archive/2012/07/13/2590517.html
相关文章
- 10-06 需要导出100多个Excel报表,所以实现起来足够
- 10-06 for循环内嵌套for循环,你需要了解的代码性能优
- 10-06 for循环内嵌套for循环,你需要了解的代码性能优
- 10-06 IntelliJ IDEA的神级插件,由ChatG
- 10-06 IntelliJ IDEA的神级插件,由ChatG
- 10-06 Service层的异常是抛给Controller层
- 10-06 华为p50功耗排行查看教程
- 10-06 Huawei Share连接电脑教程
- 10-06 华为鸿蒙系统支持的手机型号列表
- 10-06 Python Joblib库使用方法总结
- 10-06 Python标准类库
- 10-06 Java Maven 设置配置参考
- 10-05 戈多的场景树
- 10-05 戈多动画
- 10-05 在 Godot 中设计标题画面
- 10-05 信息搜索和可视化
- 10-05 设计流程与任务分析
- 10-05 颤动警报对话框
- 10-05 PostgreSQL远程连接配置管理/账号密码分配
- 10-05 Windows server 创建FTP 包括ft
- 最近发表