C# XML序列化-高效?

C# XML序列化-高效?,c#,xml,xml-serialization,windows-phone-7,C#,Xml,Xml Serialization,Windows Phone 7,大家好。我正在创建一个目录应用程序,用户可以在其中添加/下载有关汽车的信息。这可能导致成百上千辆汽车及其数据(品牌、型号、年份、图像等)。鉴于WP7没有数据库,我使用的是XML。我的问题是,将每个对象存储在一个列表中,然后序列化整个列表是否有效?当用户加载应用程序时,整个列表被反序列化,每个对象都被实例化。有更好的方法吗?谢谢 ps-我遇到过DataContractSerializer,但不确定我是否应该使用它,因为它似乎与WCF相关(我在我的应用程序中没有使用WCF)。只需执行它,然后查看。除

大家好。我正在创建一个目录应用程序,用户可以在其中添加/下载有关汽车的信息。这可能导致成百上千辆汽车及其数据(品牌、型号、年份、图像等)。鉴于WP7没有数据库,我使用的是XML。我的问题是,将每个对象存储在一个列表中,然后序列化整个列表是否有效?当用户加载应用程序时,整个列表被反序列化,每个对象都被实例化。有更好的方法吗?谢谢


ps-我遇到过DataContractSerializer,但不确定我是否应该使用它,因为它似乎与WCF相关(我在我的应用程序中没有使用WCF)。

只需执行它,然后查看。除非这方面的每一个方面对您来说都是全新的,否则与在SO上进行讨论相比,原型化和测试这样的东西所需的时间应该更少——特别是因为SO讨论的最终结果可能是有人告诉您原型化和测试它


如果速度太慢,那么您可以考虑其他方法—使用不同类型的序列化方法,在启动时部分反序列化对象以启动UI并运行,然后在后台继续反序列化,或者其他任何方法。

只要执行此操作,然后查看。除非这方面的每一个方面对您来说都是全新的,否则与在SO上进行讨论相比,原型化和测试这样的东西所需的时间应该更少——特别是因为SO讨论的最终结果可能是有人告诉您原型化和测试它


如果速度太慢,那么您可以考虑其他方法-使用不同类型的序列化方法,在启动时部分反序列化对象以启动UI并运行,然后在后台继续反序列化,或者其他任何方法。

您可能想检查我的问题:DC可以非常愉快地使用WCF,也可以不使用WCF。但真正的问题是:什么才算足够有效?你是否先尝试过最简单的方法,看看是否有问题?哦,protobuf网络在wp7上工作:)谢谢你的帮助。我还没有大规模地尝试过,但我认为应该避免在启动时实例化每个对象。我将更深入地研究DataContracts,因为我认为它们是特定于WCF的。您可能想检查我的问题:DC可以与WCF一起使用,也可以不与WCF一起使用。但真正的问题是:什么才算足够有效?你是否先尝试过最简单的方法,看看是否有问题?哦,protobuf网络在wp7上工作:)谢谢你的帮助。我还没有大规模地尝试过,但我认为应该避免在启动时实例化每个对象。我将进一步研究数据合同,因为我认为它们是WCF特有的。谢谢回复。明天我将继续进行序列化工作,但我希望有人能从WP7的经验中得到一些建议。首先,如果对象存储在列表中,您将如何部分反序列化它们?有没有办法限制它?有很多不同的方法。最简陋和最简单的方法是将数据分成一小块和一大块,反序列化小块,初始化UI,然后在后台反序列化大块。或者,您可以实现一个
XmlReader
子类,该子类解析输入流,并在每次解析完整记录时引发一个事件,该事件包含它解析的最后一条记录的XML。或者…嗯,在这里,我试图解决一个问题,甚至不知道它的存在。谢谢你的回复。明天我将继续进行序列化工作,但我希望有人能从WP7的经验中得到一些建议。首先,如果对象存储在列表中,您将如何部分反序列化它们?有没有办法限制它?有很多不同的方法。最简陋和最简单的方法是将数据分成一小块和一大块,反序列化小块,初始化UI,然后在后台反序列化大块。或者,您可以实现一个
XmlReader
子类,该子类解析输入流,并在每次解析完整记录时引发一个事件,该事件包含它解析的最后一条记录的XML。或者……嗯,在这里,我试图在不知道问题存在的情况下解决问题。