sql-server-2005 – 寻求0x0B
发布时间:2020-12-12 06:08:57 所属栏目:MsSql教程 来源:网络整理
导读:从SQL列读取一些数据然后将其转换为 XML时出现此错误: “System.InvalidOperationException:XML文档中存在错误(182,16).— System.Xml.XmlException:”,十六进制值0x0B,是无效字符.” 很公平,也许数据格式不正确.除了,我怎样才能找到罪魁祸首? SELECT * f
从SQL列读取一些数据然后将其转换为
XML时出现此错误:
“System.InvalidOperationException:XML文档中存在错误(182,16).—> System.Xml.XmlException:”,十六进制值0x0B,是无效字符.” 很公平,也许数据格式不正确.除了,我怎样才能找到罪魁祸首? SELECT * from Mytable where Column like '%' + char(0x0B)+'%' 返回空. (显然我尝试了所有%char,char,char%组合,以防万一) 解决方法终于找到了!.NET XML序列化程序在序列化时会转义无效字符,但是在反序列化之前它就是无法转义它. 因此,我必须搜索转义的& #xB以找到未转义的0x0B …严重的不是有趣的家伙! 所以这: SELECT * from Mytable where Column like '%' + '' + '%' 实际上会发现这个: <?xml version="1.0"?> <Hashtable><key>313_other_10</key><value></value></Hashtable> 虽然这看起来像有效的XML,但在以下情况下会抛出无效的字符异常: XmlSerializer xs = new XmlSerializer(Type.GetType(Hashtable)); StringReader stringReader = new StringReader(xml); obj = xs.Deserialize(stringReader); 非常感谢那些积极参与帮助的人!这是无价的帮助! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- SQL Server 跨域查询(权限、语句、过程)
- CSharp基础起步第十七期---SqlServer 基础04(聚合函数,数
- sql – 对象名称包含的前缀数量超过最大数量.最大值为3
- 删除log文件和清空日志的方案(SQLServer2005)
- sql-server – SQL查询性能和dropcleanbuffers
- mysql ERROR 1044 (42000): Access denied for user '&
- SQL Server 2008 R2安装配置方法图文教程
- 在数据库中建立关系会使它们变慢
- SQL Server 计算两个日期相差的工作天数的语句
- SQLServer中round函数