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);
}
在结果中列表中没有对象。我如何反序列化List中xml中的序列化对象?这可能是代码上出现了什么错误?
编辑: 我的XML声明(XML文件错误2,2)似乎是错误的。我不理解,因为我在这条路上创建XML文档:
XmlDocument toolConfig = new XmlDocument();
XmlNode myRoot;
myRoot = toolConfig.CreateElement("Tool");
toolConfig.AppendChild(myRoot);
我得到的XML错误(2,2)。难道是XML的结构不符合惯例? – LittleProgrammer
我使用了一个验证程序,我收到消息: 没有声明? –
LittleProgrammer