我需要帮助,我有一些 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 个方法 ReadXml
和 WriteXml
,您必须在其中实现读取对象并将其写回。然后使用标准的 .Net XmlSerializer
序列化/反序列化您的对象。
如果您需要更多帮助,请告诉我。
关于c# - 自定义 xml 序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3109827/