如何从XML数据中删除非ascii字符
本文关键字:删除 ascii 字符 数据 XML | 更新日期: 2023-09-27 18:01:51
我有一些格式如下的XML数据。我的应用程序应该使用XMLReader读取它并对其进行一些处理。然而,要实现这一点,我需要删除或替换每行的第一部分,特别是<���
。
<���<XML>....data....</XML>
<���<XML>....data....</XML
<���<XML>....data....</XML>
and so on...
在看了SO中的一些帖子后,我尝试了以下内容,但到目前为止还没有成功。任何帮助将不胜感激!
private static Regex _invalidXMLChars = new Regex(
@"(?<!['uD800-'uDBFF])['uDC00-'uDFFF]|['uD800-'uDBFF](?!['uDC00-'uDFFF])|['x00-'x08'x0B'x0C'x0E-'x1F'x7F-'x9F'uFEFF'uFFFE'uFFFF]",
RegexOptions.Compiled);
static string ReplaceHexadecimalSymbols(string txt)
{
return _invalidXMLChars.Replace(txt, string.Empty);
}
注意:我把我的XML数据。txt格式,并尝试在每行调用函数,但它没有工作。调用函数后,字符仍然存在
我会首先调查一下为什么这些字符会出现在那里。看起来像是在原始xml和文件之间的某个地方出现了编码问题。
无论如何,当你读一行的时候,只要去掉<XML>
前面的所有字符。