如何从XML文件中删除不可见的垃圾字符

我想读一些xml文件。

当我用记事本/ wordpad / MS Word或任何浏览器打开这些文件时,它以原始forms打开。但是当我尝试用MS DOS执行它时,会看到像“ ∩╗┐ ”这样的隐形字符 。 我认为’ ∩╗┐ ‘正在创建一个错误。我发现错误“prolog中不允许内容。”

请告诉我如何使用C#代码从xml文件中删除这个不可见的垃圾字符。

提前致谢。

这可能是UTF-8字节顺序标记 。 许多文本编辑器(例如Notepad ++和jEdit)允许您指定是否应该为UTF-8编写BOM。 使用Windows记事本,您唯一的选择是将文件保存为ANSI。

当然听起来像字节顺序标记。 您的问题不清楚,但如果确实需要从C#编写这些文件而没有字节顺序标记,您可以通过将false传递给UTF8Encoding构造函数来指定:

 XmlDocument xmlDoc = your_xml_document; using (TextWriter writer = new StreamWriter(output_filename, new UTF8Encoding(false)) { xmlDoc.Save(writer); }