成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

淺析XML序列化的優(yōu)缺點(diǎn)

開發(fā) 后端
XML序列化的優(yōu)缺點(diǎn)是我們在使用XML序列化的過程中的經(jīng)驗(yàn)總結(jié),那么這些注意事項(xiàng)也是我們在開發(fā)的過程中對(duì)于XML序列化的選擇的體現(xiàn),希望對(duì)你學(xué)習(xí)XML序列化有所幫助。

我們在.NET的學(xué)習(xí)過程中,是否發(fā)現(xiàn)了使用XML序列化的好處呢?XML序列化的好處是什么呢?還有就是有好處就會(huì)有一定的風(fēng)險(xiǎn),那么我們在使用XML序列化的時(shí)候有需要注意什么呢?下面我們來詳細(xì)看看具體的內(nèi)容。

在XML序列化中我們會(huì)用到 XmlSerializer類,它在您將對(duì)象序列化為 XML 時(shí)為您提供完整而靈活的控制。如果您正在創(chuàng)建 XML Web services,則可以將控制序列化的屬性應(yīng)用于類和成員以確保 XML 輸出符合特定的架構(gòu)。

1、XML序列化之XmlSerializer使用所帶來的好處:

◆指定應(yīng)將字段或?qū)傩跃幋a為特性還是元素。

◆指定要使用的 XML 命名空間。
 
◆如果字段或?qū)傩悦缓线m,則指定元素或特性的名稱。

◆XML序列化的另一個(gè)好處是:只要生成的XML流符合給定的架構(gòu),則對(duì)于所開發(fā)的應(yīng)用程序就沒有約束。假定有這樣一個(gè)用于描述圖書的架構(gòu),它具有標(biāo)題、作者、出版商和 ISBN 編號(hào)元素。您可以開發(fā)一個(gè)以您希望的任何方式(例如,作為圖書訂單,或作為圖書清單)處理 XML 數(shù)據(jù)的應(yīng)用程序。在任一種情況下,***的要求是 XML 流應(yīng)當(dāng)符合指定的 XML 架構(gòu)定義語言 (XSD) 架構(gòu)。

2、XML 序列化注意事項(xiàng):使用 XmlSerializer 類時(shí),應(yīng)考慮下列情況

◆序列化數(shù)據(jù)只包含數(shù)據(jù)本身以及類的結(jié)構(gòu)。不包括類型標(biāo)識(shí)和程序集信息。

◆只能序列化公共屬性和字段。如果需要序列化非公共數(shù)據(jù),請使用 BinaryFormatter 類而不是 XML 序列化。

◆類必須有一個(gè)將由 XmlSerializer 序列化的默認(rèn)構(gòu)造函數(shù)。

◆不能序列化方法。

XmlSerializer 可以以不同方式處理實(shí)現(xiàn) IEnumerable 或 ICollection 的類(條件是這些類滿足某些要求)。實(shí)現(xiàn) IEnumerable 的類必須實(shí)現(xiàn)帶單個(gè)參數(shù)的公共 Add 方法。Add 方法的參數(shù)必須與從 GetEnumerator 方法返回的 IEnumerator.Current 屬性所返回的類型一致(多態(tài))。除實(shí)現(xiàn) IEnumerable 外還實(shí)現(xiàn) ICollection 的類(如 CollectionBase)必須有一個(gè)取整數(shù)的公共 Item 索引屬性(在 C# 中為索引器),并且它必須有一個(gè)整數(shù)類型的公共 Count 屬性。傳遞給 Add 方法的參數(shù)必須與從 Item 屬性返回的類型相同或與該類型的某個(gè)基的類型相同。對(duì)于實(shí)現(xiàn) ICollection 的類,要序列化的值將從索引 Item 屬性檢索,而不是通過調(diào)用 GetEnumerator 來檢索。另外請注意,除返回另一個(gè)集合類(實(shí)現(xiàn) ICollection 的集合類)的公共字段之外,將不序列化公共字段和屬性。有關(guān)示例,請參見 XML 序列化的示例。
XSD 數(shù)據(jù)類型映射

標(biāo)題為“XML Schema Part 2: Datatypes”的萬維網(wǎng)聯(lián)合會(huì) (http://www.w3.org/) 文檔指定在 XML 架構(gòu)定義語言 (XSD) 架構(gòu)中允許使用的簡單數(shù)據(jù)類型。對(duì)于這些數(shù)據(jù)類型中的許多類型(例如,int 和 decimal),在 .NET Framework 中都有對(duì)應(yīng)的數(shù)據(jù)類型。但是,某些 XML 數(shù)據(jù)類型在 .NET Framework 中沒有對(duì)應(yīng)的數(shù)據(jù)類型(例如,NMTOKEN 數(shù)據(jù)類型)。在這樣的情況下,如果使用 XML 架構(gòu)定義工具 (Xsd.exe) 從架構(gòu)生成類,就會(huì)將適當(dāng)?shù)奶匦詰?yīng)用于字符串類型的成員,并會(huì)將其 DataType 屬性設(shè)置為 XML 數(shù)據(jù)類型名稱。例如,如果架構(gòu)包含一個(gè)數(shù)據(jù)類型為 XML 數(shù)據(jù)類型 NMTOKEN 的、名為“MyToken”的元素,則生成的類可能包含以下示例中的成員。

[Visual Basic]<XmlElement(DataType:="NMTOKEN")>Public MyToken As String[C#][XmlElement(DataType = "NMTOKEN")]public string MyToken;與此類似,如果創(chuàng)建一個(gè)必須符合特定 XML 架構(gòu) (XSD) 的類,應(yīng)當(dāng)應(yīng)用適當(dāng)?shù)奶匦圆⑺?DataType 屬性設(shè)置為所需的 XML 數(shù)據(jù)類型名稱。

關(guān)于XML序列化的使用優(yōu)點(diǎn)以及XML序列化的使用注意事項(xiàng)就向你介紹到這里,希望對(duì)你了解和學(xué)習(xí)XML序列化有所幫助。

【編輯推薦】

  1. 解析C# BinaryFormatter實(shí)現(xiàn)序列化
  2. 淺析C# XmlSerializer概念及作用
  3. C# XmlSerializer實(shí)現(xiàn)序列化淺析
  4. 淺析C# Xml Serializer的安全隱患
  5. C# XML序列化實(shí)例學(xué)習(xí)詮釋
責(zé)任編輯:仲衡 來源: 百度空間
相關(guān)推薦

2009-09-09 14:45:41

XML序列化和反序列化

2009-08-25 14:59:39

C# XML序列化應(yīng)用

2009-09-09 15:54:48

C# XML序列化

2022-07-27 22:36:16

ThriftRPC開源

2011-05-18 15:20:13

XML

2012-04-13 10:45:59

XML

2009-09-09 15:47:27

XML序列化和反序列化

2011-06-01 14:26:11

序列化

2010-01-08 13:25:07

ibmdwXML

2009-08-25 15:15:08

C#對(duì)象序列化應(yīng)用

2009-09-09 16:53:49

C# XmlSeria序列化

2011-06-01 15:05:02

序列化反序列化

2022-08-06 08:41:18

序列化反序列化Hessian

2018-03-19 10:20:23

Java序列化反序列化

2019-09-09 10:03:46

Python 開發(fā)編程語言

2009-09-09 17:10:50

C# XML序列化

2009-06-14 22:01:27

Java對(duì)象序列化反序列化

2009-08-24 17:14:08

C#序列化

2013-09-23 09:10:14

2023-03-27 15:37:43

自動(dòng)化測試開發(fā)
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 国产在线精品一区二区三区 | 欧美一级在线 | 先锋影音资源网站 | 中文字幕成人 | 在线免费91 | 日韩精品视频一区二区三区 | 久久久久久久一区二区三区 | 久久久久久久成人 | 久久精品在线 | 精品精品 | 久久国产亚洲 | 久久成人午夜 | 国产免费视频 | 97久久精品午夜一区二区 | 看毛片网站 | 日本精品国产 | 高清国产一区二区 | 成人在线观看网址 | 黄色免费网站在线看 | 黄色在线免费网站 | 免费观看一级毛片 | 国外激情av | 国精品一区 | 欧美日一区二区 | 天堂中文在线观看 | 国产中文视频 | 日本精品一区二区三区在线观看视频 | 中文字幕一区二区三区精彩视频 | 精品视频久久久 | 免费视频二区 | v亚洲 | 久久久久久久久久久久久久久久久久久久 | 久久一二 | 日韩在线一区二区 | 亚洲最大的黄色网址 | 视频二区在线观看 | 免费观看av| 狠狠的日| 国产a级黄色录像 | 欧美日韩国产精品一区二区 | 精品国产一区二区三区成人影院 |