Jim*_*iel 10 .net c# xml serialization
我刚刚了解了.Net中的XmlSerializer类.在我总是使用标准类解析和编写XML之前.在我深入研究之前,我想知道是否有任何不适合的情况.
编辑:标准类我的意思是XmlDocument,XmlElement,XmlAttribute ...等.
Tho*_*que 11
使用时有很多限制XmlSerializer:
这些约束通常会迫使您做出某些设计决策,而这些决策并非您在其他情况下所做的设计决策......而且一种迫使您做出错误设计决策的工具通常不是一件好事;)
话虽这么说,当你需要一种快速的方式来存储XML格式的简单对象时,它会非常方便.我也喜欢你对生成的模式有很好的控制权.
好吧,显然,它并没有给你足够的控制输出.就我个人而言,我发现LINQ to XML使得手动编写它非常容易,我很乐意这样做,至少对于相当小的项目.如果您使用.NET 3.5或4但不使用LINQ to XML,看看它直线距离-这是很多很多比旧的DOM更好.
有时能够控制序列化和反序列化是很好的...尤其是当您更改数据的布局时.如果你不是在那种情况下并且没有预料到它在其中,那么内置的XML序列化可能会没问题.
编辑:我不认为 XML序列化支持构建真正的不可变类型,而这显然可以从手工构建.由于我是不变性的粉丝,这绝对是我所关注的事情.如果你实施IXmlSerializable我相信你可以利用公共不变性,但你仍然必须是私人可变的.当然,我可能是错的 - 但值得检查.
如果您经常序列化和反序列化相同的类型,XmlSerializer可以为您省去很多麻烦,并且如果您需要这些类型的序列化表示可以被不同的平台(即Java,Javascript等)使用,我建议使用XmlSerializer尽可能,因为它可以减轻相当多的麻烦,试图自己管理从对象图到XML的转换.
在某些情况下,使用XmlSerializer并不是最好的方法.以下是一些案例:
| 归档时间: |
|
| 查看次数: |
2051 次 |
| 最近记录: |