Windows-1252不是受支持的编码名称C#反序列化

时间:2018-06-18 12:59:49

标签: c# xml encoding .net-core deserialization

  

ArgumentException:' Windows-1252'不是受支持的编码   名称...

当我尝试反序列化我的XML文件时,这是该消息。 XML的第一行是:

<?xml version="1.0" encoding="Windows-1252"?>

代码:

    using System;
    using System.IO;
    using System.Xml;
    using System.Xml.Serialization;
    using System.Collections.Generic;


    namespace EdocX_Test_Using
    {
        class Program
        {
            static void Main(string[] args)
            {
                Program test = new Program();

                foreach (var file in Directory.GetFiles(@"N:\EGS_SDRE\OB\19_Schnittstellen_eDocX_ITAS\06_Matching EdocX-Objektbrief\01_exemplarische_XMLs_fuer_den_Import\RWA-Anlage", "*.xml"))
                {
                    Console.WriteLine("\n----------------------------------------\nFILENAME: " + file + "\n----------------------------------------" + "\r\n");
                    if (!File.Exists(file)) { Console.WriteLine("Datei existiert nicht"); }

                    test.deserializeobject(file);              
                    //break; // Breaks after first for now
                }

                Console.ReadKey();
            }

            private void deserializeobject(string filename)
            {
                // new instance of XMLSerializer --> specifiying type
                var serializer = new XmlSerializer(typeof(Document));

                // read the XML document with a FileStream
                using (var fs = new FileStream(filename, FileMode.Open))
                using (var reader = XmlReader.Create(fs))
                {
                    // restore the object's state using the deserialize method
                    var i = (Document)serializer.Deserialize(reader);
                }
             }
         }
      }

0 个答案:

没有答案