在SQL2005里直接读取XML并解析其内容
2006-01-03 15:30
253 查看
SQL2005里一项令人心动的内容就是支持XML类型了,而且今天刚刚知道,原来本身还支持在SQL2005的语句里解析XML.
不多说,直接贴例子代码:
访问一个结点:
SELECT TOP (10)
dataxml.query('declare namespace AWMI="http://webservices.test.com/ABCDCommerceService/2005-10-05"
; data(/AWMI:ItemLookupResponse/AWMI:OperationRequest/AWMI:RequestId)')
AS Expr1
FROM asin
访问一个结点的属性:
SELECT TOP (10)
dataxml.query('declare namespace AWMI="http://webservices.test.com/ABCDCommerceService/2005-10-05"
; data(/AWMI:ItemLookupResponse/AWMI:OperationRequest/AWMI:RequestId/@approved)')
AS Expr1
FROM asin
dataxml是我表中的字段名称,也就是类型为XML的字段.
先声明了一个命名空间,然后直接按照结点访问,就这么简单.至于属性就加个@就可以了
我们还可以给这个XML设置验证格式,当然,可以用XSD验证.
在写下面的语句:
CREATE XML SCHEMA COLLECTION [dbo].[requestSchemaCollection]
AS N'这里是XSD的内容'
注意编码在SQL里默认是UTF16的,你可以把编码那句删除.
创建成功以后就可以在programmablitity---types---XML schema collections里看到你创建的验证格式了.去修改你的表,把格式添加进table的XML列里.
在你用Visual Studio调用在SQL语句里直接解析XML的过程时,还可能出现类似错误:
UPDATE failed because the following SET options have incorrect settings: 'ARITHABORT'. Verify that SET options are correct for use with indexed views and/or indexes on computed columns and/or query notifications and/or xml data type methods.
如果有这个错误,你需要在语句里添加Set ARITHABORT ON来解决此问题.这些是最近在操作SQL2005时遇到的.如果你也在用,试试看吧
看看这个,也很有用
http://www.microsoft.com/china/msdn/library/data/sqlserver/XMLSupportinMicrosoftSQLServer2005.mspx
不多说,直接贴例子代码:
访问一个结点:
SELECT TOP (10)
dataxml.query('declare namespace AWMI="http://webservices.test.com/ABCDCommerceService/2005-10-05"
; data(/AWMI:ItemLookupResponse/AWMI:OperationRequest/AWMI:RequestId)')
AS Expr1
FROM asin
访问一个结点的属性:
SELECT TOP (10)
dataxml.query('declare namespace AWMI="http://webservices.test.com/ABCDCommerceService/2005-10-05"
; data(/AWMI:ItemLookupResponse/AWMI:OperationRequest/AWMI:RequestId/@approved)')
AS Expr1
FROM asin
dataxml是我表中的字段名称,也就是类型为XML的字段.
先声明了一个命名空间,然后直接按照结点访问,就这么简单.至于属性就加个@就可以了
我们还可以给这个XML设置验证格式,当然,可以用XSD验证.
在写下面的语句:
CREATE XML SCHEMA COLLECTION [dbo].[requestSchemaCollection]
AS N'这里是XSD的内容'
注意编码在SQL里默认是UTF16的,你可以把编码那句删除.
创建成功以后就可以在programmablitity---types---XML schema collections里看到你创建的验证格式了.去修改你的表,把格式添加进table的XML列里.
在你用Visual Studio调用在SQL语句里直接解析XML的过程时,还可能出现类似错误:
UPDATE failed because the following SET options have incorrect settings: 'ARITHABORT'. Verify that SET options are correct for use with indexed views and/or indexes on computed columns and/or query notifications and/or xml data type methods.
如果有这个错误,你需要在语句里添加Set ARITHABORT ON来解决此问题.这些是最近在操作SQL2005时遇到的.如果你也在用,试试看吧
看看这个,也很有用
http://www.microsoft.com/china/msdn/library/data/sqlserver/XMLSupportinMicrosoftSQLServer2005.mspx
相关文章推荐
- 在SQL2005里直接读取XML并解析其内容
- Ext XMLReader直接读取'record’ 下的内容
- 读取zip文件,不解压缩直接解析,支持文件名中文,解决内容乱码
- PHP解析XML,读取节点内容
- 读取zip文件,不解压缩直接解析,支持文件名中文,解决内容乱码(支付宝对账单为例)
- jquery 解析xml文档 读取属性及文本内容
- asp.net 上传XML,txt 直接读取文件内容
- XML解析之sax解析案例(一)读取contact.xml文件,完整输出文档内容
- XML的解析——读取节点的值和内容 (只有一级子节点)
- XML的解析——读取节点的值和内容
- XML解析之sax解析案例(一)读取contact.xml文件,完整输出文档内容
- SQL2005 读取 XML 数据
- 读取 XML 数据时,超出最大字符串内容长度配额 (8192)
- SQL 2005 中的XML类型
- SQL 存储过程里读取表内容 游标fetch的使用
- ASP读取数据库内容,生成XML
- java读取xml指定标签的内容
- 【开源.NET】轻量级内容管理框架Grissom.CMS(第三篇解析配置文件和数据以转换成 sql)
- 采用Pull解析器解析XML内容
- 【转】SQL2005对XML的处理