在.NET中Xml序列化失败的场景

bli*_*egz 5 .net c# xml-serialization

我想知道在.NET中xml序列化可能失败的最常见情况.

Mar*_*ell 5

我主要想到XmlSerializer这里:

  • 它仅限于树状数据;它无法处理完整的对象图
  • 它仅限于公共成员,在公共课程上
  • 它真的不能对object会员做太多事情
  • 它在泛型方面有一些弱点
  • 像许多序列化程序一样,它不会触及集合上的实例属性(首先是不好的做法)
  • xml 并不总是大数据的好选择(尤其是在性能方面)
  • 需要一个公共的无参数构造函数

DataContractSerializer 解决了其中的一些问题,但有其自身的局限性:

  • 它无法处理属性中的值
  • 需要 .NET 3.0(所以在 2.0 中用处不大)