专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »数据库 » sqlserver数据库:SQL Server数据库中XML支持及查询返回XML »正文

sqlserver数据库:SQL Server数据库中XML支持及查询返回XML

来源: 发布时间:星期日, 2009年8月16日 浏览:0次 评论:0
  使 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编码表示 2进制数据

  使用 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中
0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: