C# 文本文件中的符号错误地写入xml文件

C# 文本文件中的符号错误地写入xml文件,c#,xml,C#,Xml,我有一个带有特殊符号的文本文件,比如,&我想在写这些符号时将其写入xml文件,它被写为问号 下面是我的代码: String[] data = File.ReadAllLines("SpecialSymbols.TXT"); XElement root = new XElement("root", from item in data select new XElement("Line", item)); root.Save("XmlFile.Xml"); xm

我有一个带有特殊符号的文本文件,比如,&我想在写这些符号时将其写入xml文件,它被写为问号

下面是我的代码:

String[] data = File.ReadAllLines("SpecialSymbols.TXT");
XElement root = new XElement("root",
         from item in data
         select new XElement("Line", item));
root.Save("XmlFile.Xml");

xml中的编码必须为Encoding=“utf-8”,则支持这些符号。

使用编码从文件中读取行

String[] data = File.ReadAllLines("SpecialSymbols.TXT",Encoding.UTF8);

创建
XDocument
not和
XElement
并指定xml编码 就像这样

string[] data = File.ReadAllLines("SpecialSymbols.TXT");
XDocument xDoc = new XDocument(
    new XDeclaration("1.0", "utf-8", "yes"),
    new XElement("root",
        from item in data
        select new XElement("Line", item))
    );
xDoc.Save("XmlFile.Xml");
你可以看到这不会有什么不同。不过,我同意这看起来像是一个编码问题。