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
我的代码哪里出错了?有人能帮我吗?
谢谢,
在正则表达式中,元字符[^ ]
将否定字符列表。它将匹配列表中而不是的内容。
您基本上删除了整个XML,除了不正确的字符。