微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

.Net XmlSerializer输出数据类型

如何解决.Net XmlSerializer输出数据类型

| 我有一个方法,它接受一个对象并将其转换为XML字符串。这很好用,但我希望输出XML包含对象属性的数据类型(字符串,整数,双精度型等)。我已经搜索了很多东西,但是如果不编写自定义序列化程序,我似乎找不到解决方案。 非常感激任何的帮助。
private static string ToXML<t>(t obj,bool indent = false)
{
    System.Xml.Serialization.XmlSerializerNamespaces ns = new System.Xml.Serialization.XmlSerializerNamespaces();
    XmlSerializer xs = new XmlSerializer(typeof(t));
    StringBuilder sbuilder = new StringBuilder();
    var xmlws = new System.Xml.XmlWriterSettings() {OmitXmlDeclaration = true,Indent = indent};

    ns.Add(string.Empty,string.Empty);

    using (var writer = System.Xml.XmlWriter.Create(sbuilder,xmlws))
    {
        xs.Serialize(writer,obj,ns);
    }

    string result = sbuilder.ToString();

    ns = null;
    xs = null;
    sbuilder = null;
    xmlws = null;

    return result;
}
    

解决方法

        .NET中的ѭ1旨在与自身一起使用特定的对象类型来重新序列化,以确定应如何处理XML中的数据。 标准的“ 1”不会为您序列化该信息。 您应该查看WCF中的ѭ3,据我所知,它更加冗长,假设也更少。它也非常灵活。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。