“”(十六进制值 0x1D)是无效的字符

加载或保存XML时引发的异常.System.ArgumentException: “”(十六进制值 0x1D)是无效的字符。
产生原因是xml文件中包含低位非打印字符造成的
处理方法:在产生xml文件的时候,过滤低位非打印字符

把一个字符串中的 低序位 ASCII 字符 替换成 &#x  字符
转换  ASCII  0 - 8  -> � - 
转换  ASCII 11 - 12 -> -
转换  ASCII 14 - 31 ->  - 

return System.Text.RegularExpressions.Regex.Replace(HttpUtility.HtmlEncode(str),@"[\x00-\x08]|[\x0B-\x0C]|[\x0E-\x1F]", "");

----------------------------------- http://www.cnblogs.com/rock_chen/
原文地址:https://www.cnblogs.com/rock_chen/p/1405433.html