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