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

淺析XML序列化的優缺點

開發 后端
XML序列化的優缺點是我們在使用XML序列化的過程中的經驗總結,那么這些注意事項也是我們在開發的過程中對于XML序列化的選擇的體現,希望對你學習XML序列化有所幫助。

我們在.NET的學習過程中,是否發現了使用XML序列化的好處呢?XML序列化的好處是什么呢?還有就是有好處就會有一定的風險,那么我們在使用XML序列化的時候有需要注意什么呢?下面我們來詳細看看具體的內容。

在XML序列化中我們會用到 XmlSerializer類,它在您將對象序列化為 XML 時為您提供完整而靈活的控制。如果您正在創建 XML Web services,則可以將控制序列化的屬性應用于類和成員以確保 XML 輸出符合特定的架構。

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

◆指定應將字段或屬性編碼為特性還是元素。

◆指定要使用的 XML 命名空間。
 
◆如果字段或屬性名不合適,則指定元素或特性的名稱。

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

2、XML 序列化注意事項:使用 XmlSerializer 類時,應考慮下列情況

◆序列化數據只包含數據本身以及類的結構。不包括類型標識和程序集信息。

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

◆類必須有一個將由 XmlSerializer 序列化的默認構造函數。

◆不能序列化方法。

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

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

[Visual Basic]<XmlElement(DataType:="NMTOKEN")>Public MyToken As String[C#][XmlElement(DataType = "NMTOKEN")]public string MyToken;與此類似,如果創建一個必須符合特定 XML 架構 (XSD) 的類,應當應用適當的特性并將它的 DataType 屬性設置為所需的 XML 數據類型名稱。

關于XML序列化的使用優點以及XML序列化的使用注意事項就向你介紹到這里,希望對你了解和學習XML序列化有所幫助。

【編輯推薦】

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

2009-09-09 14:45:41

XML序列化和反序列化

2009-08-25 14:59:39

C# XML序列化應用

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-09-09 16:53:49

C# XmlSeria序列化

2009-08-25 15:15:08

C#對象序列化應用

2011-06-01 15:05:02

序列化反序列化

2022-08-06 08:41:18

序列化反序列化Hessian

2019-09-09 10:03:46

Python 開發編程語言

2018-03-19 10:20:23

Java序列化反序列化

2009-09-09 17:10:50

C# XML序列化

2009-06-14 22:01:27

Java對象序列化反序列化

2009-08-24 17:14:08

C#序列化

2023-03-27 15:37:43

自動化測試開發

2009-08-06 11:16:25

C#序列化和反序列化
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲精品乱码久久久久v最新版 | 中文日韩在线 | 中文字幕在线观看av | 日韩精品在线播放 | 99久久婷婷国产亚洲终合精品 | 欧美激情欧美激情在线五月 | 91五月婷蜜桃综合 | 亚洲欧美精 | 日韩第一区 | 伦理午夜电影免费观看 | 天天操夜夜操 | 一级毛片视频 | 久久久www成人免费精品 | 在线观看av网站永久 | 欧洲国产精品视频 | 天堂亚洲网| 美女黄色在线观看 | 欧美激情国产精品 | 欧美久久影院 | 99久久精品国产一区二区三区 | 国产欧美一区二区三区国产幕精品 | 日本中文字幕日韩精品免费 | 天天操网 | 欧美国产日韩在线观看 | www.788.com色淫免费 | 毛片黄片免费看 | 福利视频网 | 99久久精品免费看国产高清 | 国产成人精品久久久 | 精品久久久久久亚洲国产800 | 狠狠操婷婷 | 亚洲综合色自拍一区 | 国产一区二区自拍 | 少妇黄色 | 久久国产精99精产国高潮 | 91精品久久久久久久 | 亚洲欧洲日韩 | 一级黄色片免费在线观看 | 久色网| 亚洲+变态+欧美+另类+精品 | 精品一区在线看 |