| 
         1 
        
         2 
        
         3 
        
         4 
        
         5 
        
         6 
        
         7 
        
         8 
        
         9 
        
         10 
        
         11 
        
         12 
        
         13 
        
         14 
        
         15 
        
         16 
        
         17 
        
         18 
        
         19 
        
         20 
        
         21 
        
         22 
        
         23 
        
         24 
        
         25 
        
         26 
        
         27 
        
         28 
        
         29 
        
         30 
        
         31 
        
         32 
        
         33 
        
         34 
        
         35 
        
         36 
        
         37 
        
         38 
        
         39 
        
         40 
        
         41 
        
         42 
        
         43 
        
         44 
        
         45 
        
         46 
        
         47 
        
         48 
        
         49 
        
         50 
        
         51 
        
         52 
        
         53 
        
         54 
        
         55 
        
         56 
        
         57 
        
         58 
        
         59 
        
         60 
        
         61 
        
         62 
        
         63 
        
         64 
        
         65 
        
         66 
        
         67 
        
         68 
        
         69 
        
         70 
        
         71 
        
         72 
        
         73 
        
         74 
        
         75 
        
         76 
        
         77 
        
         78 
        
         79 
        | 
          using System; 
         
          using System.Xml; 
         
          using System.Xml.Serialization; 
         
          using System.IO; 
         
          namespace LOTool 
         
          { 
         
              public class LO_XMLTool 
         
              { 
         
                  #region 反序列化 
         
                  /// <summary> 
         
                  /// 反序列化 
         
                  /// </summary> 
         
                  /// <param name="type">类型</param> 
         
                  /// <param name="xml">XML字符串</param> 
         
                  /// <returns></returns> 
         
                  public static object Deserialize(Type type, string xml) 
         
                  { 
         
                      try 
         
                      { 
         
                          using (StringReader sr = new StringReader(xml)) 
         
                          { 
         
                              XmlSerializer xmldes = new XmlSerializer(type); 
         
                              return xmldes.Deserialize(sr); 
         
                          } 
         
                      } 
         
                      catch (Exception e) 
         
                      { 
         
                          return null; 
         
                      } 
         
                  } 
         
                  /// <summary> 
         
                  /// 反序列化 
         
                  /// </summary> 
         
                  /// <param name="type"></param> 
         
                  /// <param name="xml"></param> 
         
                  /// <returns></returns> 
         
                  public static object Deserialize(Type type, Stream stream) 
         
                  { 
         
                      XmlSerializer xmldes = new XmlSerializer(type); 
         
                      return xmldes.Deserialize(stream); 
         
                  } 
         
                  #endregion 
         
                  #region 序列化 
         
                  /// <summary> 
         
                  /// 序列化 
         
                  /// </summary> 
         
                  /// <param name="type">类型</param> 
         
                  /// <param name="obj">对象</param> 
         
                  /// <returns></returns> 
         
                  public static string Serializer(Type type, object obj) 
         
                  { 
         
                      MemoryStream Stream = new MemoryStream(); 
         
                      XmlSerializer xml = new XmlSerializer(type); 
         
                      try 
         
                      { 
         
                          //序列化对象 
         
                          xml.Serialize(Stream, obj); 
         
                      } 
         
                      catch (InvalidOperationException) 
         
                      { 
         
                          throw; 
         
                      } 
         
                      Stream.Position = 0; 
         
                      StreamReader sr = new StreamReader(Stream); 
         
                      string str = sr.ReadToEnd(); 
         
                      sr.Dispose(); 
         
                      Stream.Dispose(); 
         
                      return str; 
         
                  } 
         
                  #endregion 
         
              } 
         
          } 
         | 
[Unity]C#中 将XML和实体类之间进行相互转换的工具类
原文:http://my.oschina.net/u/2438875/blog/517986