У меня есть следующий код:
public class DeserializeAndCompare
{
public static List<string> IntoXML()
{
List<string> PopList = new List<string>();
XmlSerializer serializer = new XmlSerializer(PopList.GetType());
string k = FileToolBox.position0;
FileStream filestreamer = new FileStream(k.ToString(), FileMode.Open);
PopList = (List<string>)serializer.Deserialize(filestreamer);
filestreamer.Close();
return PopList;
}
}
Я продолжаю сталкиваться с ошибкой в строке:
PopList = (List) serializer.Deserialize (filestreamer);
Ошибка: InvalidOperationException не обработан, есть ошибка в XML-документе (1,1).
В этой строке:
FileStream filestreamer = новый FileStream (k, FileMode.open);
Я пытаюсь сослаться на 0-ю позицию массива, содержащего строки. Я в основном просматриваю свой каталог, нахожу любые файлы с расширением .xml и храню пути к именам файлов в массиве.
Вот код для моего массива:
public static class FileToolBox
{
public static string position0;
public static void FileSearch()
{
//string position0;
//array holding XML file names
string[] array1 = Directory.GetFiles(@"s:\project", "*.xml");
Array.Sort(array1);
Array.Reverse(array1);
Console.WriteLine("Files:");
foreach (string fileName in array1)
{
Console.WriteLine(fileName);
}
position0 = array1[0];
}
public static string Position0
{
get
{
return position0;
}
set
{
position0 = value;
}
}
}
Я что-то здесь упускаю? Как мне избавиться от этой ошибки?
Заранее спасибо за помощь.