繁体   English   中英

如何从XML数据中删除非ASCII字符

[英]How to remove non-ascii characters from XML data

我有以下格式的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);
        }

注意:我获取了.txt格式的XML数据,并尝试在每一行上调用该函数,但是它不起作用..调用函数后,字符仍然存在。

我将首先调查为什么这些字符存在。 看起来好像是原始XML与文件之间的编码问题。

无论如何,当您读一行时,只需将所有字符放在<XML>之前。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM