当前位置:文章中心 >> sql2016_sql2012_sql2015_sql2008
|
SQL Server数据库中XML支持及查询返回XML
|
夜鹰教程网 来源:www.yyjcw.com 日期:2016-12-5 21:21:30
|
使 SQL Server 查询结果转化成 XML 字符串
|

这篇文章不能解决你的问题?我们还有相关视频教程云课堂 全套前端开发工程师培训课程 微信号:yyjcw10000 QQ:1416759661 远程协助需要加QQ! 业务范围:视频教程|程序开发|在线解答|Demo制作|远程调试| 点击查看相关的视频教程。 技术范围:全端开发/前端开发/webapp/web服务/接口开发/单片机/C#/java/node/sql server/mysql/mongodb/android/。
|
使 SQL Server 查询结果转化成 XML 字符串
1 在 SQL 语句后使用 for xml 子句。
[ FOR { XML { RAW | AUTO }
[ , XMLDATA ]
[ , ELEMENTS ]
[ , BINARY BASE64 ] } ]
将得到一个无根节点的XML片断。
1.1 for xml raw
结果为 ...
1.2 for xml auto
结果为 <表名 列名="value" 列名="value" ... /><表名 ... />...
1.3 for xml raw,xmldata
结果为
1.3.1 for xml auto,xmldata
内为
1.4 elements使列作为子元素返回,binary base64采用base64编码表示二进制数据。
使用 HTTP 访问 SQL Server 并返回XML数据
1 安装 IIS5.1 和 SQL Server 2000 以上版本。
2 使用SQL Server 的 '在 IIS 中配置SQL XML 支持' 工具创建一个虚拟目录。
2.1 在 '常规' 选项卡 输入 虚拟目录 名称,例如 Test。
2.2 在 '安全性' 输入账号密码等等身份验证信息。
2.3 '数据源' 可以选择要连接的数据库。
2.4 '设置'选项卡里面有些细则,默认只有一个允许模板。
2.4.1 如果想用url?sql=sqlString 或者 url?sql=sqlString,则选择好 '允许sql=或...的URL查询'。
2.4.2 XPATH允许在URL后使用xpath表达式过滤得到的数据,POST允许通过表达提交查询。
2.5 在URL中指定数据库和表的名称。
2.5.1 在'虚拟名称'中创建相应的虚拟名称,如'http://localhos/database/table/...'。
3 使用 SQL XML 进行查询。
3.1 使用 GET 提交,在 URL 后附加 SQL 语句:
[url]http://localhos/test?sql=select+[/url]*+from+table+for+xml+auto&root=root
root=root可以指定根节点,否则会得到一个没有根节点的xml片断。
3.2 使用 XML模板 进行查询。
3.2.1 直接在 URL 中指定模板。
[url]http://localhos/test?template=[/url]select+*+from+table+for+xml+auto
URL 中附加模板存在安全和长度限制,可以使用模板文件。
3.2.2 使用模板文件,例:
建立一个文本文件tmp.xml
select * from table for xml auto
存放在虚拟目录test内。
使用URL 'http://localhos/test/tmp.xml' 便可以得到结果。
3.2.2.1 使用XPATH
[url]http://localhos/test/tmp.xml/col[/url][@att="1"]
'...tmp.xml/'后即可以接xpath表达式进行筛选,语法和普通xml中一样。
|
|
热门服务/教程目录
|
客服电话:153 9760 0032
购买教程QQ:1416759661
|
|
|