• C# XmlSerializer类


    代码
    public static class XmlSerializer<T>
    {
    public static string Serialize(T o)
    {
    XmlSerializer xmlSerializer
    = new XmlSerializer(typeof(T));
    using (MemoryStream stream = new MemoryStream())
    {
    xmlSerializer.Serialize(stream, o);
    return Encoding.ASCII.GetString(stream.ToArray());
    }
    }

    public static T DeSerialize(string xmlString)
    {
    XmlSerializer xmlSerializer
    = new XmlSerializer(typeof(T));
    using (MemoryStream stream = new MemoryStream(Encoding.ASCII.GetBytes(xmlString)))
    {
    return (T)xmlSerializer.Deserialize(stream);
    }
    }

    public static string Serialize(T obj, string xsdNs, string xsiNs)
    {
    XmlSerializerNamespaces ns
    = new XmlSerializerNamespaces();
    ns.Add(
    "xsd", xsdNs);
    ns.Add(
    "xsi", xsiNs);
    XmlSerializer serializer
    = new XmlSerializer(obj.GetType());
    StringBuilder sb
    = new StringBuilder();
    using (TextWriter writer = new StringWriter(sb))
    {
    serializer.Serialize(writer, obj, ns);
    return sb.Replace("utf-16", "utf-8").ToString();
    }
    }

    public static T DeSerialize(ref string xmlText)
    {
    XmlSerializer serializer
    = new XmlSerializer(typeof(T));
    using (TextReader reader = new StringReader(xmlText))
    {
    return (T)serializer.Deserialize(reader);
    }
    }
    }

    SoapSerialize
    public static byte[] SoapSerialize(object obj)
    {
    MemoryStream stream
    = new MemoryStream();
    new SoapFormatter().Serialize(stream, obj);
    stream.SetLength(stream.Position);
    return stream.ToArray();
    }

    public static object SoapDeserialize(byte[] data)
    {
    MemoryStream stream
    = new MemoryStream();
    stream.Write(data,
    0, data.Length);
    stream.Position
    = 0L;
    return new SoapFormatter().Deserialize(stream);
    }

  • 相关阅读:
    react 学习
    redux saga学习
    Power BI连接至Amazon Redshift
    php时间日期
    layui select 禁止点击
    微信小程序二维码是无法识别二维码跳转到小程序
    JSON字符串与JSON对象的区别
    前端切图要选择png和jpg呢?
    @media媒体查询
    TortoiseGit revert failed
  • 原文地址:https://www.cnblogs.com/Googler/p/1757933.html
Copyright © 2020-2023  润新知