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

來源:互聯網
上載者:User

在網上找了一些關於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
{

}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.