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

时间:2012-08-13 08:34:06

标签: c# asp.net

我想阅读一些xml文件。

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

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

提前致谢。

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

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