你好 我想知道我是否能够更改保存在Windows Phone 7设备上的XML文件中的不同元素,而无需实际重新序列化整个文件。
答案 0 :(得分:0)
一般来说,没有 - 这与Windows Phone 7没什么关系(虽然我不知道WP7上的IsolatedStorageFileStream
是否支持寻求)。
我不知道任何具有高级抽象的主流文件系统(例如Java和C#使用的那些)允许您在文件中间删除或插入数据。
我认为理论上如果你乐意用空白填充,或者永远不改变你正在使用的数据的长度,你可以只是覆盖相关的字节 - 但我不认为它根本不是一个好主意。非常脆弱,难以使用。
只需覆盖整个文件。
答案 1 :(得分:0)
如前面的答案中所述,如果不保存整个文件,则无法单独保存XML片段。如果文件大小是一个大问题,那么您可以将数据拆分为单独的文件(可能按字母顺序排列;取决于数据),这样,如果进行更改,则只保存较小的数据集。
正如Matt所说,XML序列化不能在WP7设备上提供最佳性能。 Kevin Marshall有一个great blog post详细说明了不同的序列化方法和每个方法的性能。最快的方法是二进制序列化,但是没有什么能阻止你使用二进制序列化方法序列化XML。