zoukankan      html  css  js  c++  java
  • XML Serialize Desrialize Across Namespace

    代码
     class Program
        {
            
    static void Main(string[] args)
            {
                s1.People p 
    = new Sample.NameSpace1.People();
                p.Name 
    = "Fisher"; p.Age = 28;

                
    string xml = SerializeObject(p);

                Console.WriteLine(xml);

                s2.People p2 
    = DeserializeObject(xml) as s2.People;


                Console.Write(p2.Name);

                Console.ReadKey();

            }

            
    /// <summary>
            
    /// Method to convert a custom Object to XML string
            
    /// </summary>
            
    /// <param name="pObject">Object that is to be serialized to XML</param>
            
    /// <returns>XML string</returns>
            public static String SerializeObject(Object pObject)
            {
                
    try
                {
                    String XmlizedString 
    = null;
                    MemoryStream memoryStream 
    = new MemoryStream();
                    XmlSerializer xs 
    = new XmlSerializer(typeof(s1.People));
                    XmlTextWriter xmlTextWriter 
    = new XmlTextWriter(memoryStream, Encoding.UTF8);
                    xs.Serialize(xmlTextWriter, pObject);
                    memoryStream 
    = (MemoryStream)xmlTextWriter.BaseStream;
                    XmlizedString 
    = UTF8ByteArrayToString(memoryStream.ToArray());
                    
    return XmlizedString;
                }
                
    catch (Exception e)
                {
                    System.Console.WriteLine(e);
                    
    return null;
                }
            }

            
    /// <summary>
            
    /// To convert a Byte Array of Unicode values (UTF-8 encoded) to a complete String.
            
    /// </summary>
            
    /// <param name="characters">Unicode Byte Array to be converted to String</param>
            
    /// <returns>String converted from Unicode Byte Array</returns>
            private static String UTF8ByteArrayToString(Byte[] characters)
            {
                UTF8Encoding encoding 
    = new UTF8Encoding();
                String constructedString 
    = encoding.GetString(characters);
                
    return (constructedString);
            }

            
    /// <summary>
            
    /// Converts the String to UTF8 Byte array and is used in De serialization
            
    /// </summary>
            
    /// <param name="pXmlString"></param>
            
    /// <returns></returns>
            private static Byte[] StringToUTF8ByteArray(String pXmlString)
            {
                UTF8Encoding encoding 
    = new UTF8Encoding();
                Byte[] byteArray 
    = encoding.GetBytes(pXmlString);
                
    return byteArray;
            }

            
    /// <summary>
            
    /// Method to reconstruct an Object from XML string
            
    /// </summary>
            
    /// <param name="pXmlizedString"></param>
            
    /// <returns></returns>
            public static Object DeserializeObject(String pXmlizedString)
            {
                XmlSerializer xs 
    = new XmlSerializer(typeof(s2.People));
                MemoryStream memoryStream 
    = new MemoryStream(StringToUTF8ByteArray(pXmlizedString));
                XmlTextWriter xmlTextWriter 
    = new XmlTextWriter(memoryStream, Encoding.UTF8);
                
    return xs.Deserialize(memoryStream);
            } 
        }


  • 相关阅读:
    Eclipse编辑properties文件中文乱码
    Spark安装
    安装VirtualBox后,VMware不能上网
    Hadoop Eclipse插件编译
    MapReduce 常见问题
    MapReduce 气象数据集
    Maven构建Hadoop开发环境
    Eclipse安装Maven
    吴恩达深度学习笔记 course4 week2 深度卷积网络 实例探究
    吴恩达深度学习笔记 cousrse4 week1作业
  • 原文地址:https://www.cnblogs.com/sskset/p/1743215.html
Copyright © 2011-2022 走看看