自定义XML序列化 [英] custom xml serialization

查看:176
本文介绍了自定义XML序列化的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要帮助,我有一些数据进来的XML,我想打一个对象出来,用它做什么,回来序列化并把它赶走...... 但它必须是某种自定义的序列化。

XML如下:

 <动物版=12级=1东西=2>
    <狗版本=12级=2东西=17>
        <名称> A< /名称>
        <声音> OOF< /声音>
        &其中; SomeOtherProp&GT 12所述; / SomeOtherProp>

    < /狗>
    <猫版=12级=3东西=4>
       <名称> B< /名称>
       <声音>喵< /声音>
    < /目录>
< /动物和GT;
 

必须是psented为$ P $:

 抽象类动物:XmlMagic
{
  公共字符串名称{获取;集;}
  公共弦音{获取;集;}

  公共无效SomeMagicalXMLSerializationMethod()
  {}
  公共无效SomeMagicalXMLDeSerializationMethod()
  {}
}

Dog类:动物,XmlMagic
{
  公众诠释SomeOtherProp {获取;集;}
  公共无效SomeMagicalXMLSerializationMethod()
  {}
  公共无效SomeMagicalXMLDeSerializationMethod()
  {}
}
 

解决方案

XmlMagic 你以后叫的IXmlSerializable 接口:的http://msdn.microsoft.com/en-us/library/system.xml.serialization.ixmlserializable.aspx

它为您提供了2种方法的ReadXml 中WriteXML ,在那里你必须实现读你的对象,并写它背部。然后,可以使用标准的.NET 的XmlSerializer 序列化/反序列化对象。

让我知道如果你需要更多的帮助。

i need help, i have some data coming in xml, i want to make an object out of, do something with it, serialize it back and send it away... but it must be some sort of custom serialization.

xml like:

<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>

needs to be presented as:

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()
  {}
}

解决方案

The XmlMagic you are after is called IXmlSerializable interface: http://msdn.microsoft.com/en-us/library/system.xml.serialization.ixmlserializable.aspx

It provides you with 2 methods ReadXml and WriteXml, where you have to implement reading your object and writing it back. Then you use the standard .Net XmlSerializer to serialize/deserialize your objects.

Let me know if you need more help.

这篇关于自定义XML序列化的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆