我正在使用下面的
将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
我的代码出了什么问题?任何人都可以帮助我吗?
谢谢,
答案 0 :(得分:2)
在正则表达式中,元字符[^ ]
将否定字符列表。它会匹配列表中不的内容。
除了错误的字符外,你基本上删除了整个XML。