Chr*_*ian 3 xml sql t-sql insert sql-server-2008
在Microsoft SQL Server 2008中,我尝试将值插入到sql表中,其中包含数据类型为int的type_id列和数据类型为XML的xml_info.我使用以下查询:
INSERT INTO tbl_applied_devices ([type_id],[xml_info])
VALUES (1,'<Profile ID=99><Server><ID>BC4A18CA-AFB5-4268-BDA9-C990DAFE7783</ID> <Name>localhost</Name><Services></Services></Server></Profile>')
Run Code Online (Sandbox Code Playgroud)
但我一直收到这个错误:
消息9413,级别16,状态1,行4
XML解析:第1行,字符13,字符串文字是预期的
我做错了什么?
编辑:
我发现了错误的来源是XML元素的ID属性,<Profile ID=99>似乎是什么原因造成的错误.如何正确插入带属性的xml?我是否需要以某种方式逃脱其中一个角色?
Ric*_*iwi 10
XML文档本质上是文本的.这不是网页的HTML,因此您需要引号中的所有属性值(单引号或双引号).
INSERT INTO tbl_applied_devices ([type_id],[xml_info])
VALUES (1,'<Profile ID="99"><Server><ID>BC4A18CA-AFB5-4268-BDA9-C990DAFE7783</ID> <Name>localhost</Name><Services></Services></Server></Profile>')
Run Code Online (Sandbox Code Playgroud)
解析XML 1.0规范非常困难,但这里是.Net 4.5的Microsoft版本,它与SQL Server XML相关.