如何从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数据中删除非ascii字符

我会首先调查一下为什么这些字符会出现在那里。看起来像是在原始xml和文件之间的某个地方出现了编码问题。

无论如何,当你读一行的时候,只要去掉<XML>前面的所有字符。