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

C# 如何从XML文件中删除不可见的垃圾字符,c#,asp.net,C#,Asp.net,我想读一些xml文件 当我用notepad/wordpad/MS Word或任何浏览器打开这些文件时,它是以原始形式打开的。但当我尝试用MS DOS执行时,会出现一个不可见的字符,如“∩╗┐”。 我认为“∩╗┐'正在创建错误。我发现错误“prolog中不允许内容。” 请告诉我如何使用C#代码从xml文件中删除这些不可见的垃圾字符 提前谢谢。这可能是最好的选择。许多文本编辑器(例如记事本++和jEdit)允许您指定是否应为UTF-8编写BOM表。使用Windows记事本,您唯一的选择是将文件另存为

我想读一些xml文件

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

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


提前谢谢。

这可能是最好的选择。许多文本编辑器(例如记事本++和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);
}

它是字节顺序标记吗?执行XML?在MS-DOS中?你的意思是在控制台窗口中打印它吗?我不知道它是什么?它在所有浏览器和几乎所有编辑器中都不可见,但在MS Dos窗口中可以看到。当我键入C:>类型测试时。xml@VipinTyagi
类型
是一种ASCII工具。。。所以:不要用那个?另外:我严重怀疑您是否有MS DOS的工作版本。随着Windows 95(可能是Windows ME?)在Dosbox中的开发而消亡-P