0

serialize我刚刚学会了如何deserialize objectsXML. C#现在我想将此功能添加到我的应用程序中,我有一个class用于object. 我应该创建一个class包含serializeanddeserialize方法的吗?或者,应该有一个Interface或什么?

这通常是如何完成的?

4

3 回答 3

0

如果您的类足够简单,可以进行序列化,您可以这样做:

using (FileStream stream = File.Create(filename)){
 XmlSerializer serializer = new XmlSerializer(typeof(MyRootClassHere));
 serializer .Serialize(stream, yourRootInstance);
}

您可能需要查看 XmlElement、XmlAttribute、XmlIgnore、XmlText 属性以更好地控制输出:

 [XmlIgnore]
 public bool IgnoredBool{ get; set; }

 [XmlAttribute("NewXmlName")]
 public string RenamedProperty{ get; set; }

这应该让你大部分时间都去。

于 2013-01-28T18:17:43.283 回答
0

你最好将你的对象和序列化机制分开DataContractSerializers在.Net中对此有好处。它们允许在属性上指定数据注释(如上面的评论中所述)并为您自动执行实际序列化。

于 2013-01-28T18:08:55.000 回答
0

有一个接口(ISerializable),但您也有通用类,它们可以为您完成这项工作。在那种情况下,您必须为要序列化的属性放置正确的属性。

如果您想要有关此的文档,请查看此处。

.Net 有一些内置的序列化器(BinaryFormatter 和 XmlSerializer

如果您使用接口,则必须编写自己的方法

于 2013-01-28T18:09:14.647 回答