2012-02-15 71 views
0

我正在为教师作为学校项目制作出席应用程序,并且在更新隔离存储中的xml文件时遇到问题。我使用LINQ to XML将学生的姓名解析为自定义xml文件的列表框。每个列表框项目都有一个复选框和学生的名字。然后使用XmlSerializer将选定的学生保存到IsolatedStorage以及当前日期。当我检索存储的XML文件时,一切似乎都正常,但是当我想添加更多的学生时,它只是覆盖以前存储的文件,并且不会添加到它。我该如何解决这个错误,以便将它添加到现有的xml文件中而不是覆盖它?使用XmlSerializer将数据添加到IsolatedStorage中的现有XML文件

这里是我保存和加载类:

我感谢你能给我的所有帮助。谢谢!

回答

1

不能在我的开发机器上给你一个例子,但假设你的序列化文件是学生列表,请尝试以下方法。

1)将您已经拥有的文件反序列化到对象列表中。
2)将学生添加到反序列表中。
例如MyList.Add(new Student { Name = "Charlie Smith" });
MyList.AddRange(MyListOfNewStudentsToAdd)
3)连载整个列表(与新添加的数据)发送回该文件。

这应该工作。

+0

谢谢你的回复!我认为它是否覆盖文件并不重要。我使用序列化,而不是使用IsolatedStorageSettings加载文件,它工作得很好。但非常感谢你帮助我! – 2012-02-15 20:11:51