日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯網營銷解決方案
C#XML序列化應用淺析

C# XML序列化應用探討之前我們來看看C# XML序列化的概念:C# XML序列化將對象的公共字段和屬性或者方法的參數和返回值轉換(序列化)為符合特定 XML 架構定義語言 (XSD) 文檔的 XML 流。C# XML序列化生成強類型的類,并為存儲或傳輸目的將其公共屬性和字段轉換為序列格式(在此情況下為 XML)簡單的說就是將一個對象轉換成XML流或是文件的過程。注意事項:要序列化的類必須有一個默認的構造器,不能序列化類中的私有變量或方法。下面以實例來說明。這個是要序列化的類。

C# XML序列化應用實例:

 
 
 
  1. public class XmlSerObject  
  2.     {  
  3. public XmlSerObject()  
  4. {  
  5. }  
  6.  
  7. private DateTime m_datetime;  
  8. public DateTime CurrentDate  
  9. {  
  10.     get { return m_datetime; }  
  11.     set { this.m_datetime = value; }  
  12. }  
  13.  
  14. private string m_name;  
  15. public string Name  
  16. {  
  17.     get { return this.m_name; }  
  18.     set { this.m_name = value; }  
  19. }  
  20.  
  21. public XmlSerObject(string name, DateTime current)  
  22. {  
  23.     this.m_name = name;  
  24.     this.m_datetime = current;  
  25. }  
  26.  

這個是我寫的一個方法用來序列化這個類并將數據保存到一個xml文件中。

 
 
 
  1. /**//// ﹤summary﹥  
  2. /// 序列化一個對象  
  3. /// ﹤/summary﹥  
  4. /// ﹤param name="fileName"﹥要存放的文件名(包括路徑)﹤/param﹥  
  5. /// ﹤param name="xmlobj"﹥被序列化的對象﹤/param﹥  
  6. public static void SerObject(string fileName, Object xmlobj)  
  7. {  
  8. using (FileStream stream =   
  9. new FileStream(fileName,   
  10. FileMode.OpenOrCreate, FileAccess.ReadWrite))  
  11. {  
  12. //得到被序列化的類型  
  13. Type type = xmlobj.GetType();  
  14. XmlSerializer sz = new XmlSerializer(type);  
  15. //開始序列化  
  16. sz.Serialize(stream, xmlobj);  
  17.     }  

通過這個方法就可以生成一個XML文件

 
 
 
  1. private void btnXml_Click(object sender, EventArgs e)  
  2. {  
  3.     //創(chuàng)建一個對象。  
  4.     XmlSerObject serobj = new XmlSerObject("fastyou", DateTime.Now);  
  5.     //XmlSerialize這個是SerObject這個方法所在的類名。  
  6.     XmlSerialize.SerObject(@"c:\fastyou.xml", serobj);  

C# XML序列化應用結果:

 
 
 
  1. ﹤?xml version="1.0"?﹥  
  2. ﹤XmlSerObject xmlns:xsi=  
  3.  
  4. "http://www.w3.org/2001/XMLSchema-instance"   
  5.  
  6. xmlns:xsd="http://www.w3.org/2001/XMLSchema"﹥  
  7.   ﹤CurrentDate﹥2006-11-14T00:53:09.5731779+08:00﹤/CurrentDate﹥  
  8.   ﹤Name﹥fastyou﹤/Name﹥  
  9. ﹤/XmlSerObject﹥  

這個就是我們序列化后看到的結果。如果你在要序列化的類名加上[XmlRoot("Fastyou")]這個Attribute的話那么XML文件里的XmlSerObject將會變成Fastyou.^_^.如果在類的Name屬性[XmlAttribute("Name")]這個Attribute的話結果又會有變化請看下面Name是不是換了位置呢。

 
 
 
  1. ﹤?xml version="1.0"?﹥  
  2. ﹤XmlSerObject xmlns:xsi=  
  3. "http://www.w3.org/2001/XMLSchema-instance"   
  4. xmlns:xsd="http://www.w3.org/2001/XMLSchema" Name="fastyou"﹥  
  5.   ﹤CurrentDate﹥2006-11-14T00:57:09.0278354+08:00﹤/CurrentDate﹥  
  6. ﹤/XmlSerObject﹥ 

如果你將序列化的方法改成下面的形式就會得到這個xml文件的內容的一個字符串

 
 
 
  1. /**//// ﹤summary﹥  
  2. /// 序列化一個對象  
  3. /// ﹤/summary﹥  
  4. /// ﹤param name="fileName"﹥要存放的文件名(包括路徑)﹤/param﹥  
  5. /// ﹤param name="xmlobj"﹥被序列化的對象﹤/param﹥  
  6. public static string SerObject(string fileName, Object xmlobj)  
  7. {  
  8.     StringBuilder sb = new StringBuilder();  
  9.     StringWriter tw = new StringWriter(sb);  
  10.     Type type = xmlobj.GetType();  
  11.     XmlSerializer sz = new XmlSerializer(type);  
  12.     sz.Serialize(tw, xmlobj);  
  13.     tw.Close();  
  14.     return sb.ToString();  

C# XML序列化應用相關的內容就向你介紹到這里,希望對你了解和學習C# XML序列化應用有所幫助。


文章題目:C#XML序列化應用淺析
本文路徑:http://www.dlmjj.cn/article/djhpsjp.html