读入/获取XML的编码类型

时间:2018-07-09 07:27:41

标签: c# xml encoding deserialization streamreader

是否可以分别读取XML文件的第一行?我必须获取使用哪种编码的信息。我的工作文件夹中的XML具有不同的编码,并且根据该编码,必须对反序列化方法使用相应的“ Encoding.GetEncoding”。

那是我的代码的一部分:

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);

1 个答案:

答案 0 :(得分:0)

您可以使用普通文件读取

using System.Linq;   

string line1 = File.ReadLines("MyFile.xml").First()

并使用XML中的line1来执行操作