使用C#.NET处理XML中的禁用字符

前端之家收集整理的这篇文章主要介绍了使用C#.NET处理XML中的禁用字符前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个对象,我正在序列化为xml.看来其中一个属性中的值包含十六进制字符0x1E.我已经尝试将XmlWriterSettings的Encoding属性设置为“utf-16”和“unicode”但我仍然会抛出异常:

这是生成XML文档的错误. —> System.InvalidOperationException:生成XML文档时出错. —> System.ArgumentException:”,十六进制值0x1E,是无效字符.

有没有办法让这些字符进入xml?如果没有,是否还有其他字符会导致问题?

解决方法

你可以像对待HTML那样逃避. 0x1E与十进制30相同,所以只需用字符串“& 30;”替换你的记录分隔符.它应该没问题.

猜你在找的C#相关文章