我刚刚在serialize
了解了如何deserialize
和objects
XML
到C#
。
现在我想将此功能添加到我的应用程序中,class
有一个object
。我应该创建一个包含class
和serialize
方法的deserialize
吗?或者,是否应该有Interface
或其他什么?
这通常是怎么做的?
答案 0 :(得分:0)
你最好保持你的对象和序列化机制单独DataContractSerializers在.Net中对此有好处。它们允许在属性上指定数据注释(如上面的注释中所述),并为您自动化实际的序列化。
答案 1 :(得分:0)
有一个接口(ISerializable),但您也有一些存在的泛型类,可以为您完成这项工作。在那个cas中,你必须为你想要序列化的属性放置正确的属性。
如果您需要有关此文档的文档,请查看here。
.Net有一些内置的序列化器(BinaryFormatter和XmlSerializer
如果您使用界面,则必须编写自己的方法
答案 2 :(得分: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; }
这应该让你在大部分时间里去。