Я добавляю новый проект в свое решение и добавил код, указанный ниже. Метод LoadXML(), настройка переменных и десериализация файлов выполняются точно так же, как я сделал это несколько раз в течение этого решения, но теперь вдруг для этой части он бросает этот раздражающий «{« Корневой элемент отсутствует ».}« Error - даже когда XML отсутствует или я использую другой XML, который я знаю, работает. Это означает, что ошибка явно находится в коде, но поскольку код почти скопирован с копий из моих предыдущих передач файлов, я не знаю, как это может быть. Другие ситуации для этой ошибки, ранее размещенные на этом веб-сайте, действительно не соответствуют моей ситуации, поэтому я начал новую в надежде, что смогу приземлиться ближе к ответу!XML Deserialization {«Отсутствует элемент корня.»} Ошибка
//fileName and XML variables for serialization/deserialization
const string fileName = "SimulatedTrain1.xml";
XmlSerializer xml = new XmlSerializer(typeof(BindingList<SimulatedTrain>));
//Create BindingList object to hold XML data
public BindingList<SimulatedTrain> SimulatedTrain = new BindingList<SimulatedTrain>();
public void LoadXML()
{
try
{
using (var fs = new FileStream(fileName, FileMode.OpenOrCreate))
{
var tempTrain = (BindingList<SimulatedTrain>)xml.Deserialize(fs);
SimulatedTrain = tempTrain;
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message, ex);
}
}
LoadXML() вызывается на Form_Load
Edit: Вот часть моего файла XML (остальные в основном повторяют данные)
Можете ли вы показать нам свою ' SimulatedTrain1.xml'? – minghan
Бросил его туда, чтобы вы его увидели! –
возможно, попробуйте 'FileMode.Open' вместо' OpenOrCreate'? – terbubbs