C# 读入/获取XML的编码类型
是否可以单独读取XML文件的第一行?我必须得到使用哪种编码的信息。我的工作文件夹中的XML有不同的编码,根据不同的编码,我必须为反序列化方法使用相应的“Encoding.GetEncoding” 这是我代码的一部分:C# 读入/获取XML的编码类型,c#,xml,encoding,deserialization,streamreader,C#,Xml,Encoding,Deserialization,Streamreader,是否可以单独读取XML文件的第一行?我必须得到使用哪种编码的信息。我的工作文件夹中的XML有不同的编码,根据不同的编码,我必须为反序列化方法使用相应的“Encoding.GetEncoding” 这是我代码的一部分: var serializer = new XmlSerializer(typeof(Document)); // read the XML document Encoding.RegisterProvider(CodePagesEncodingProvider.Instance)
var serializer = new XmlSerializer(typeof(Document));
// read the XML document
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
var encoding_windows = Encoding.GetEncoding("Windows-1252");
var encoding_utf = Encoding.GetEncoding("utf-8");
var sr = new StreamReader(current_file, encoding_windows, true);
var reader = XmlReader.Create(sr);
// restore the object's state using the deserialize method
var i = (Document)serializer.Deserialize(reader);
您可以使用普通文件读取
using System.Linq;
string line1 = File.ReadLines("MyFile.xml").First()
并使用XML中的
line1
来执行您的操作XmlReader,这样就不需要第一行了。所以您可以使用sr.ReadLine()跳过代码中的第一行;在创建XmlReader之前添加此行。