【问题标题】:XML Serialization - handling special casesXML 序列化 - 处理特殊情况
【发布时间】:2010-07-12 16:50:52
【问题描述】:

我需要对一些类进行 XML 序列化,这些类在某些情况下不符合规则和准则,而这是使内置序列化工作所必需的。这包括作为接口类型的属性和没有设置器的属性。

我知道如何实现 IXmlSerializable,但这可能需要大量工作;因为大多数属性不需要特殊处理。我有什么办法只编写代码来处理这些“特殊属性”并让标准 XML 序列化程序序列化它知道如何序列化的属性?

此外,欢迎对开源库或类似库提出建议,这些库可以更好地将对象序列化为 XML,而无需太多自定义代码。

【问题讨论】:

    标签: c# .net xml serialization xml-serialization


    【解决方案1】:

    有一个名为Automapper 的工具,该工具将两种类型相互映射。对于您的问题,您可以构建标准符合类型并将非标准类型映射到该类型。大多数属性将使用自动映射器进行映射。您可以使用自己的方法映射特殊的。

    首先你必须设置你的映射:

    Mapper.CreateMap<ITestSequence, TestSequence>();
    Mapper.CreateMap<ITestBlock, TestBlock>();
    

    然后映射您的对象:

    Mapper.Map(srcTb, dstTb);
    

    这将设置所有常用属性。其余的你可以自己做。

    【讨论】:

      猜你喜欢
      • 2016-05-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多