如何在Xml序列化,DataContractSerializer和LINQ to XML之间进行选择,以序列化简单对象树?

| 我需要将一个简单对象的树序列化为XML到文件或从文件序列化–自从我上次不得不这样做以来,世界已经改变了…… (我不关心XML的架构,只要支持人员可以理解该文件,就可以了) 那么,在.net中不同的“ easy xml” API之间进行选择时,需要权衡些什么呢?     
已邀请:
        这就是我考虑这些选项的方式: LINQ to XML –完全控制XML和对象的设计,这是3个选项中最多的代码。 DataContractSerializer –对XML的控制很少或没有控制,可以处理大多数对象 XmlSerializer –完全控制XML,但是您必须以Xml序列化喜欢的方式设计对象。     
        
DataContractSerializer
不一定会发出“典型” xml,并且您对输出没有太多控制。但是,如果需要,它确实支持全图。如果您想要xml,并且不需要完整的图,我倾向于使用
XmlSerializer
-它可以避免为手动遍历数据而编写任何代码(ala
XmlDocument
XDocument
),但是却可以控制。 一个警告:“ 1”对您的类型提出要求(公共,公共无参数构造函数,仅限于公共成员,没有序列化回调等)。它们通常不是问题。 但是,无论如何,我可能还是要写二进制而不是xml; p(只是不带
BinaryFormatter
,它有....纠结)。     

要回复问题请先登录注册