解码字符串中的十六进制字符

时间:2014-11-05 11:33:38

标签: c# xml character-encoding

从第三部分我得到一个这样的字符串"123123" 我必须把它包装成一些XML但是我得到这个错误System.ArgumentException: '', hexadecimal value 0x04, is an invalid character.

我可以将十六进制值解码为有意义的内容,或者只删除它。解决方案必须能够处理其他十六进制值。

1 个答案:

答案 0 :(得分:0)

我最终创建了这个方法

public static string RemoveInvalidXmlChars(string str)
{

    var sb = new StringBuilder();
    var decodedString = HttpUtility.HtmlDecode(str);

    foreach (var c in decodedString)
    {
        if (XmlConvert.IsXmlChar(c))
            sb.Append(c);
    }

    return sb.ToString();
}