[英]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.