C#从数据库中提取数据生成XML文件,系统报错,提示"♀(十六进制值0x0c)是无效的字符"

2025-04-29 22:52:48
推荐回答(2个)
回答1:

产生原因是xml文件中包含低位非打印字符造成的
处理方法:在产生xml文件的时候,过滤低位非打印字符

public static string ReplaceLowOrderASCIICharacters(string tmp)
{
StringBuilder info = new StringBuilder();
foreach (char cc in tmp)
{
int ss = (int)cc;
if (((ss >= 0) && (ss <= 8)) || ((ss >= 11) && (ss <= 12)) || ((ss >= 14) && (ss <= 32)))
info.AppendFormat(" ", ss);//&#x{0:X};
else info.Append(cc);
}
return info.ToString();
}

回答2:

看看是不是含有转移字符,我觉得对半是这个的原因