自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

.NET對象的XML序列化和反序列化概念淺析

開發(fā) 后端
XML序列化和反序列化的概念是什么呢?在.NET下的XML序列化和反序列化實現(xiàn)主要用到什么樣的類呢?那么本文就向你詳細介紹具體的內(nèi)容。

對于.NET對象的XML序列化和反序列化的理解我們首先來看看序列化的概念,什么是序列化呢?它是指一個對象的實例可以被保存成一個二進制串,當然,一旦被保存成二進制串,那么也就意味著可以保存成文本串了。

比如,一個計數(shù)器,數(shù)值為2,我們可以用字符串“2”表示。如果有個對象,叫做connter,當前值為2,那么可以序列化成“2”,反向的,也可以從“2”得到值為2的計數(shù)器實例。這樣,關機時序列化它,開機時反序列化它,每次開機都是延續(xù)的。不會都是從頭開始。

序列化概念的提出和實現(xiàn),可以使我們的應用程序的設置信息保存和讀取更加方便。序列化有很多好處,比如,在一臺機器上產(chǎn)生一個實例,初始化完畢,然后可以序列化,通過網(wǎng)絡傳送到另一臺機器,然后反序列化,得到對象實例,之后再執(zhí)行某些業(yè)務邏輯,得到結(jié)果,再序列化,返回第一臺機器,第一臺機器得到對象實例,得到結(jié)果。

當前比較熱火的web services使用soap協(xié)議,soap協(xié)議也是以對象的可序列化為基礎的。

.NET對象的XML序列化和反序列化實現(xiàn)的概述:

一、概述

.NET Framework為處理XML數(shù)據(jù)提供了許多不同的類庫。XmlDocument類能讓你像處理文件一樣處理xml數(shù)據(jù),而XmlReader、XmlWriter和它們的派生類使你能夠?qū)ml數(shù)據(jù)作為數(shù)據(jù)流處理。

XmlSerializer則提供了另外的方法,它使你能夠?qū)⒆约旱膶ο蟠谢头创谢癁閤ml。串行化數(shù)據(jù)既能夠讓你像處理文件一樣對數(shù)據(jù)進行隨機處理,同時又能跳過你不感興趣的數(shù)據(jù)。

二、主要類庫介紹

.NET 支持對象xml序列化和反序列化的類庫主要位于命名空間System.Xml.Serialization中。

1.  XmlSerializer 類

該類用一種高度松散耦合的方式提供串行化服務。你的類不需要繼承特別的基類,而且它們也不需要實現(xiàn)特別的接口。相反,你只需在你的類或者這些類的公共域以及讀/寫屬性里加上自定義的特性。XmlSerializer通過反射機制讀取這些特性并用它們將你的類和類成員映射到xml元素和屬性。

2. XmlAttributeAttribute 類

指定類的公共域或讀/寫屬性對應xml文件的Attribute。

例:[XmlAttribute(“type”)] or [XmlAttribute(AttributeName=”type”)]

3. XmlElementAttribute類

指定類的公共域或讀/寫屬性對應xml文件的Element。

例:[XmlElement(“Maufacturer”)] or [XmlElement(ElementName=”Manufacturer”)]

4. XmlRootAttribute類

Xml序列化時,由該特性指定的元素將被序列化成xml的根元素。

例:[XmlRoot(“RootElement”)] or [XmlRoot(ElementName = “RootElements”)]

5. XmlTextAttribute 類

Xml序列化時,由該特性指定的元素值將被序列化成xml元素的值。一個類只允許擁有一個該特性類的實例,因為xml元素只能有一個值。

6. XmlIgnoreAttribute類

Xml序列化時不會序列化該特性指定的元素。

對于.NET對象的XML序列化和反序列化的理解的基本內(nèi)容就向你介紹到這里,希望對你了解和學習.NET對象的XML序列化和反序列化有所幫助。

【編輯推薦】

  1. 詳解C#中不同類的類型
  2. 淺談C#中標準Dispose模式的實現(xiàn)
  3. C#選擇正確的集合進行編碼
  4. C# 4.0新特性:協(xié)變與逆變中的編程思想
  5. C#應用Attribute特性 代碼統(tǒng)計分析
責任編輯:仲衡 來源: IT168
相關推薦

2009-09-09 15:47:27

XML序列化和反序列化

2011-06-01 15:05:02

序列化反序列化

2011-05-18 15:20:13

XML

2012-04-13 10:45:59

XML

2009-06-14 22:01:27

Java對象序列化反序列化

2018-03-19 10:20:23

Java序列化反序列化

2022-08-06 08:41:18

序列化反序列化Hessian

2009-08-24 17:14:08

C#序列化

2009-09-09 16:10:11

.NET序列化和反序列

2009-07-29 13:39:02

JSON序列化和反序列ASP.NET AJA

2009-08-06 11:16:25

C#序列化和反序列化

2011-06-01 14:26:11

序列化

2019-11-20 10:07:23

web安全PHP序列化反序列化

2009-08-25 14:24:36

C#序列化和反序列化

2023-12-13 13:49:52

Python序列化模塊

2021-11-18 07:39:41

Json 序列化Vue

2009-08-25 14:43:26

C#序列化和反序列化

2010-03-19 15:54:21

Java Socket

2009-09-09 17:14:24

XML序列化

2011-06-01 14:50:48

點贊
收藏

51CTO技術(shù)棧公眾號