Csharp/C#教程:自定义XML序列化 – 包括类名分享


自定义XML序列化 – 包括类名

我正在使用以下XML序列化输出:

  1.0   Hello!    

我有以下课程:

 [Serializable] public class Message { public string Version { get; set; } public T Body { get; set; } } [Serializable] public class ExampleObject { public string EmampleOne { get; set; } } 

如果我将它们单独序列化,我得到:

   1.0  Hello!   

和:

   Hello!  

所以如上所示,我希望内部主体包含类名

我使用generics,因为我需要有不同的Message Body,我用代码序列化:

 var obj = new Message { Version = "1.0", Body = example }; var serializer2 = new XmlSerializer(typeof (Message)); 

正如@Marc Gravell在评论中建议的那样,你可以使用XmlAttributeOverrides :

上述就是C#学习教程:自定义XML序列化 – 包括类名分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

 var xmlOverrides = new XmlAttributeOverrides(); var attributes = new XmlAttributes(); attributes.XmlElements .Add(new XmlElementAttribute("ExampleObject", typeof (ExampleObject))); xmlOverrides.Add(typeof(Message), "Body", attributes); var serializer2 = new XmlSerializer(typeof(Message), xmlOverrides); 

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/951780.html

(0)
上一篇 2021年11月18日
下一篇 2021年11月18日

精彩推荐