0

我们有一个 ASP.Net Web 服务,它接收一个 XML 文件到 PDA 并将其映射到对象(一种标准的 .Net Web 方法)。在将此 XML 响应保存到磁盘后,是否有一种简单的方法,将其读回与之前相同的对象结构?

PDA 应用程序在从 Web 服务接收到数据后自动执行此操作,但找不到可以让我提供流等以“离线”重复该过程的方法。

4

1 回答 1

0

序列化允许您执行此操作 - 它实际上是通过 Web 服务发送对象的方式。

如果幸运的话,下面的代码将序列化一个对象(称为“object_type”类型的“object”。)

XmlSerializer serialiser = new XmlSerializer(typeof(object_type));
FileStream stream = new FileStream(@"C:\Temp\serialised_file.xml", FileMode.Create);
serialiser.Serialize(object, stream);

并反序列化:

XmlSerializer serialiser = new XmlSerializer(typeof(object_type));
FileStream stream = new FileStream(@"C:\Temp\serialised_file.xml", FileMode.Open);
object_type object = serialiser.Deserialize(stream) as object_type;

我说“如果你幸运的话”,因为 90% 的时间对我有用。如果类中有抽象类的属性,则可能需要在XmlSerializer构造函数中声明扩展该抽象类的所有类类型。还要注意类中没有“循环依赖”。

于 2010-03-22T18:43:12.287 回答