我有一些格式如下的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数据,并尝试在每一行调用该函数,但它不起作用..调用函数后字符仍然存在。
答案 0 :(得分:0)
我会调查为什么这些角色首先出现在那里。它看起来像原始XML和您的文件之间的某些编码问题。
无论如何,当您阅读一行时,只需删除<XML>
之前的所有字符。