SebGM2018 Ответов: 0

Ошибка при попытке десериализации XML - файла с помощью openfiledialog.имя файла?


Здравствуйте, у меня есть ошибка в моем коде, я хочу десериализовать различные XML-файлы и открыть их в текстовых полях, проблема у меня была, когда он берет путь к файлу, я думаю, что есть, где ошибка, потому что он принимает один точный путь к файлу(напр.):
FileStream FS = new FileStream("example.analy", FileMode.Open, FileAccess.Read);

Но Я заменил его вот этим
FileStream FS = new FileStream(openFileDialog1.FileName, FileMode.Open, FileAccess.Read);

Чтобы прочитать файлы, которые были выбраны в openfiledialog.
Это мой полный код:
if (openFileDialog1.ShowDialog() == DialogResult.OK)
          {
              if (File.Exists(openFileDialog1.FileName))
              {
              if ((openFileDialog1.OpenFile()) != null)
              {
                      if (openFileDialog1.FileName != null)
                      {
                          openFileDialog1.Filter = "Analytica Files | *.analy";
                          XmlSerializer XS = new XmlSerializer(typeof(Reminders.Information));

                          FileStream FS = new FileStream(openFileDialog1.FileName, FileMode.Open, FileAccess.Read);
                          Information Info = (Information)XS.Deserialize(FS);
                          XS.Deserialize(FS);
                          Settings.Default.Counter++;
                          Settings.Default.Save();

Проблема в том, что когда я пытаюсь открыть файл, появляется следующая ошибка:
Система.InvalidOperationException: 'Error en el documento XML (0, 0).'
Внутреннее Исключение
XmlException: Отсутствует Корневой Элемент.

Что я уже пробовал:

This is my complete code:
<pre>  if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                if (File.Exists(openFileDialog1.FileName))
                {              
                if ((openFileDialog1.OpenFile()) != null)
                {
                        if (openFileDialog1.FileName != null)
                        {
                            openFileDialog1.Filter = "Analytica Files | *.analy";
                            XmlSerializer XS = new XmlSerializer(typeof(Reminders.Information));
                         
                            FileStream FS = new FileStream(openFileDialog1.FileName, FileMode.Open, FileAccess.Read);
                            Information Info = (Information)XS.Deserialize(FS);
                            XS.Deserialize(FS);
                            Settings.Default.Counter++;
                            Settings.Default.Save();

		    
                    

Ziee-M

Привет, проблема заключается в xml-файле, а не в коде (на основе ошибки).
Что-то не так с вашим главным корнем в строке 0 позиция 0

[no name]

Если вы опубликуете XML-файл, мы, возможно, сможем помочь вам больше.

0 Ответов