c#中的XMLdocument无效字符错误

本文关键字:字符 错误 无效 XMLdocument 中的 | 更新日期: 2023-09-27 18:05:56

我正在使用下面的

将Json转换为XMl文档
var RawPostingXml = JsonConvert.DeserializeXmlNode(CleanInvalidXmlChars((string)Message), "row");
            using (var stringWriter = new StringWriter())
            using (var xmlTextWriter = XmlWriter.Create(stringWriter))
            {
                RawPostingXml.WriteTo(xmlTextWriter);    // GETTING ERROR HERE
                xmlTextWriter.Flush();
                Xml = stringWriter.GetStringBuilder().ToString();
            }

为了删除非法字符,我使用下面的代码:

public static string CleanInvalidXmlChars(string text)
        {
            string re = @"[^'x07'x0A'x0D'x20-'xD7FF'xE000-'xFFFD'x10000-x10FFFF]";
            return Regex.Replace(text, re, "");
        }

但是我得到下面的错误,

Exception - '', hexadecimal value 0x07, is an invalid character. Line 118, position 446.

更新:

我的输入:

'u00a0 Our values and principles guide us forward each day. 'u0007'u000e'u0004 'u3000'u000e'f 'n 'n 'n 'n 'n'n'n'n 

我的代码哪里出错了?有人能帮我吗?

谢谢,

c#中的XMLdocument无效字符错误

在正则表达式中,元字符[^ ]否定字符列表。它将匹配列表中而不是的内容。

您基本上删除了整个XML,除了不正确的字符。