程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> ASP.NET基礎 >> asp.net xml序列化與反序列化第1/2頁

asp.net xml序列化與反序列化第1/2頁

編輯:ASP.NET基礎
在網上找了一些關於xml序列化與反序列化的資料,摘錄下:
       在.NET下有一種技術叫做對象序列化,它可以將對象序列化為二進制文件、XML文件、SOAP文件,這樣, 使用經過序列化的流進行傳輸效率就得到了大大的提升。 

       在.NET中提供了兩種序列化:二進制序列化、XML和SOAP序列化。對於WEB應用來說,用得最多的是第二種———XML和SOAP序列化。 

       XML 序列化將對象的公共字段和屬性或者方法的參數和返回值轉換(序列化)為符合特定 XML 架構定義 語言 (XSD) 文檔的 XML 流。 

       XML 序列化生成強類型的類,並為存儲或傳輸目的將其公共屬性和字段轉換為序列格式(在此情況下為 
XML)。 

注意:
1、XML 序列化不轉換方法、索引器、私有字段或只讀屬性(只讀集合除外)。
2、使用Serialize和Deserialize需要指明命令空間System.Xml.Serialization,using System.IO。
xml序列化簡單的應用舉例:

有個類定義為:
C#復制代碼
public class webinfo    
{    
    public string userName;    
    public string webName;    
    public string webUrl;    
}   
那麼通過序列化我們可以將其序列化為: XML/HTML復制代碼
<?xml version="1.0"?>   
<webinfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">   
  <userName></userName>   
  <webName>腳本</webName>   
  <webUrl>http://www.jb51.net</webUrl>   
</webinfo>   
主要的代碼如下: C#復制代碼
webinfo info = new webinfo();    
info.userName = "";    
info.webName = "腳本";    
info.webUrl = "http://www.jb51.net";    

//用webinfo這個類造一個XmlSerializer    
XmlSerializer ser = new XmlSerializer(typeof(webinfo));    

//xml保存路徑,序列化成功後可以通過查看該文件看到序列化後結果    
string path = Server.MapPath("webinfo.xml");    

try   
{    
    //Stream用於提供字節序列的一般視圖,這裡將在根目錄下建立一個xml文件    
    Stream file = new FileStream(path, FileMode.Create, FileAccess.Write);    

    //把Stream對象和info一起傳入,序列化出一個XML文件,如果沒這一步,建立的xml內容為空    
    ser.Serialize(file, info);    

    //釋放資源    
    file.Close();    
    file.Dispose();    

    Response.Write("序列化成功");    

}    
catch (Exception ex)    
{    
    Response.Write(ex.Message);    
}    
finally   
{    

}  
當前1/2頁 12下一頁閱讀全文
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved