0
Применение сериализует Список для XML:десериализации XML в список
<?xml version="1.0"?>
<Tools xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Tool>
<Name>test1</Name>
<Path>C:\Program Files\FreePDF_XP\fpmailer.exe</Path>
</Tool>
<Tool>
<Name>test2</Name>
<Path>C:\Program Files\FreePDF_XP\fpassist.exe</Path>
</Tool>
<Tool>
<Name>test3</Name>
<Path>C:\Program Files\FreePDF_XP\ShellMail.exe</Path>
</Tool>
</Tools>
Если я не на ту сторону, я должен создать новые объекты и добавить их в список:
Tool tool = new Tool();
XmlSerializer deserializer = new XmlSerializer(typeof(List<Tool>));
using (var reader = new StreamReader(@Start.userConfigurePath + "\\config.xml"))
{
tool = (Tool)deserializer.Deserialize(reader);
reader.Close();
}
toolList.Add(tool);
}
В результате в списке нет объекта. Как я могу десериализовать сериализованные объекты в xml в List? Может быть, что-то не так в коде для деринализации?
Редактировать: Что-то кажется неправильным в моем объявлении xml (ошибка файла XML 2,2). То, что я не понимаю, потому что я создаю документ XML на этом пути:
XmlDocument toolConfig = new XmlDocument();
XmlNode myRoot;
myRoot = toolConfig.CreateElement("Tool");
toolConfig.AppendChild(myRoot);
Я получаю XML Error (2,2). Может быть, структура xml не соответствует соглашениям? – LittleProgrammer
Я использовал программу проверки, и я получаю сообщение: <Инструменты xmlns: xsi = "http://www.w3.org/2001/XMLSchema-instance" xmlns: xsd = "http://www.w3.org/ 2001/XMLSchema "/> не объявлен? – LittleProgrammer