我想阅读一些xml文件。
当我用记事本/ wordpad / MS Word或任何浏览器打开这些文件时,它以原始形式打开。但是当我尝试用MS DOS执行它时,一个看不见的字符如“∩╗┐ “被看到了。 我认为'∩╗┐'正在创建错误。我发现错误“prolog中不允许内容。”
请告诉我如何使用C#代码从xml文件中删除这个隐形垃圾字符。
提前致谢。
答案 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。