我有一个对象,我正在序列化为xml.看来其中一个属性中的值包含十六进制字符0x1E.我已经尝试将XmlWriterSettings的Encoding属性设置为“utf-16”和“unicode”但我仍然会抛出异常:
这是生成XML文档的错误. —> System.InvalidOperationException:生成XML文档时出错. —> System.ArgumentException:”,十六进制值0x1E,是无效字符.
有没有办法让这些字符进入xml?如果没有,是否还有其他字符会导致问题?
解决方法
你可以像对待HTML那样逃避. 0x1E与十进制30相同,所以只需用字符串“& 30;”替换你的记录分隔符.它应该没问题.