自定义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