c# - 自定义 xml 序列化

标签 c# .net xml

我需要帮助,我有一些 xml 格式的数据,我想用它制作一个对象,用它做一些事情,将它序列化并发送出去...... 但它必须是某种自定义序列化。

xml 类似:

<Animals Ver="12" class="1" something="2">
    <Dog Ver="12" class="2" something="17">
        <Name> a </Name>
        <Sound> oof </Sound>
        <SomeOtherProp>12</SomeOtherProp>

    </Dog>
    <Cat Ver="12" class="3" something="4">
       <Name> b </Name>
       <Sound> meow </Sound>
    </Cat>
</Animals>

需要呈现为:

abstract class Animal :XmlMagic
{
  public string Name{get;set;}
  public string Sound{get;set;}

  public void SomeMagicalXMLSerializationMethod()
  {}
  public void SomeMagicalXMLDeSerializationMethod()
  {}
}

class Dog: Animal, XmlMagic
{
  public int SomeOtherProp{get;set;}
  public void SomeMagicalXMLSerializationMethod()
  {}
  public void SomeMagicalXMLDeSerializationMethod()
  {}
}

最佳答案

您所追求的XmlMagic 称为IXmlSerializable 接口(interface):http://msdn.microsoft.com/en-us/library/system.xml.serialization.ixmlserializable.aspx

它为您提供了 2 个方法 ReadXmlWriteXml,您必须在其中实现读取对象并将其写回。然后使用标准的 .Net XmlSerializer 序列化/反序列化您的对象。

如果您需要更多帮助,请告诉我。

关于c# - 自定义 xml 序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3109827/

相关文章:

php - magento禁用模块脚本

c# - Validation.HasError 未针对针对 IDataErrorInfo 验证的 DataGrid 触发

c# - 如何忽略 String.replace 中的大小写

c# - 从 Outlook 的邮件编辑器中获取 HTML - ControlType.Document

.net - Windows XP的Windows身份框架

Yahoo Pipes 的 .NET 替代品

java - JAXP 可以用来创建 HTML5 文档吗?

c# - 可能获得过程的输出

c# - "No value given for one or more required parameters"访问Excel电子表格

swift - SWXMLHash 无法解析 [XMLIndexer]