XML序列化,在本例中为IXmlSerializable或Attributes

时间:2009-05-14 17:34:42

标签: c# .net xml ixmlserializable

之前我已经完成了一些XML序列化,但是我使用了Attributes,我不确定这对于我的下一个任务是否可行,这里是XML操作requirementes的简短列表。

  • 通用XMl操作,绑定到树视图,没有架构。
  • 加载/保存XML。
  • 加载/保存属性以及值(我相信术语是元素文本?),并注意节点的名称。
  • 可以安全地忽略评论,因为文档信息标记(即UTF-8和架构标记)

有关如何最好地处理此事的任何建议?

3 个答案:

答案 0 :(得分:0)

我可能不会打扰对象模型和IXmlSerializable - 听起来你可能会用XmlElement / XmlDocument来说话 - 即传递数据作为一个xml的块。由于你没有架构,所以将它撕碎是没有意义的;你也可以通过xml DOM来做。

当你说树视图时 - 这是winforms,asp.net,wpf?我相信asp.net treeview可以使用xml源代码,但是对于winforms,你必须自己迭代节点。

答案 1 :(得分:0)

不知道你之前使用“属性”究竟是什么意思,但我也推荐使用XmlSerializer:

  • 通过“简单”课程,它通常可以开箱即用。
  • 收藏可能需要更多工作,但这取决于您的要求和对象结构。
  • 还有其他构建的XML序列化程序,如XAML或WCF DataContractSerializer。一切都有利有弊。但是如果你想微调你的XML格式,那么XMLSerializer是最灵活的格式。
  • 您可以逐步处理您的格式:如果默认情况看起来不错,那就完成了。如果不是,你必须在大多数情况下只添加一些属性。
  • 如果您想要完全控制,您仍然可以实现IXmlSerialize来微调您的格式。
  • 一切都适用于每个类:在适当的地方使用默认值,在需要时添加一些属性并根据需要实现IXmlSerializable。

答案 2 :(得分:-1)

我建议您使用.NET框架支持的简单XML序列化。

浏览这些MSDN文档

How to Serialize an object

How to Deserialize an object

相关问题