zoukankan      html  css  js  c++  java
  • 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);
    }

  • 相关阅读:
    WebService-01-使用jdk发布第一个WebService服务并调用
    Oracle触发器
    java调用存储过程、存储函数
    存储过程/存储函数
    SQL查询排名第二名的信息
    sql行转列
    SELECT列表中的标量子查询
    sql子查询在insert、update、delete中的应用
    sqlserver存储过程中,set rowcount 0是什么意思?
    固态硬盘安装系统
  • 原文地址:https://www.cnblogs.com/Googler/p/1757933.html
Copyright © 2011-2022 走看看