c 實現xml檔案的序列化和反序列化

2021-10-12 05:52:15 字數 1661 閱讀 2558

目錄

xml檔案用途

先來看乙個xml檔案

構建承載xml節點資訊的類

bookstore類

序列化執行結果

反序列化

執行結果

xml問件是眾多檔案型別中的一種。xml最大的功能就是儲存資料,它就像乙個純文字的資料庫,可以跨平台、跨系統使用。

xml檔案的序列化就是把物件轉化成可以儲存或傳輸的流狀態。與之相對的反序列化即把流狀態的資料讀入物件中。

xml檔案的結構是樹狀的<>這樣的一對括號代表了一對節點,bookstore,這樣一對節點就代表了節點名是bookstore,內容是bookstore,

還可以為節點新增id屬性bookstore

<?xml version="1.0" encoding="utf-8"?>

冰與火之歌

2020.12.16

123456

2020.12.16

我個夢想

2020.12.16

我有夢想

2020.12.16

我有乙個夢

2020.12.16

檔案的第一行代表了xml的版本和檔案編碼格

根據xml的內容我們需要構建乙個bookstore類,它包含了子節點book類,book中又有time,name屬性。

public class bookstore

set

}}

book類

public class book

set

}private string time;

public string time

set

}public book()

public book(string _name, string _time)

}

有了承載資訊的類就可以對xml進行序列化和反序列化了。首先來看序列化。

public static void xmlserialize()

<?xml version="1.0" encoding="utf-16"?>

馬丁路德金

2020.1.2

冰與火之歌

2010.1.2

我有乙個夢想

2020.1.2

c#從入門到放棄

2020.1.2

請按任意鍵繼續. . .

public static void xmldeserialize()

}}

shu:

姓名:冰與火之歌

姓名:2020.12.16

shu:

姓名:123456

姓名:2020.12.16

shu:

姓名:我個夢想

姓名:2020.12.16

shu:

姓名:我有夢想

姓名:2020.12.16

shu:

姓名:我有乙個夢

姓名:2020.12.16

請按任意鍵繼續. . .

xml檔案的序列化 和反序列化

最近在做乙個專案中用到了一些分布式的東西 需要進行資料互動 資料互動使用xml檔案 單獨的使用xml檔案 進行組成和解析式比較麻煩的 我們可以先寫實體 然後序列化為乙個xml檔案傳送 接收資料時 我們可以反序列化 將乙個xml檔案反序列化為乙個實體.實體的定義 serializable public...

Xml序列化和反序列化

1.xmlserializer 類 該類用一種高度鬆散耦合的方式提供序列化服務。你的類不需要繼承特別的基類,而且它們也不需要實現特別的介面。相反,你只需在你的類或者這些類的公共域以及讀 寫屬性裡加上自定義的特性。xmlserializer 通過反射機制讀取這些特性並用它們將你的類和類成員對映到 xm...

XML序列化和反序列化

閱讀目錄 回到頂部 由於.net framework針對xml提供了很多api,這些api根據不同的使用場景實現了不同層次的封裝,比如,我們可以直接使用xmltextreader xmldocument xpath來取數xml中的資料,也可以使用linq to xml或者反序列化的方法從xml中讀取...