程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> LINQ學習筆記:LINQ to XML

LINQ學習筆記:LINQ to XML

編輯:關於.NET

LINQ to XML

.Net Framework提供了大量的API用於處理XML數據. 從Framework 3.5開始, 對於處理常規XML文檔的第一選擇將是LINQ to XML. LINQ to XML包含一個輕量級的LINQ友好的XML文檔對象模型, 以及一系列附加的查詢操作符. 在多數場景中, 它可以被當中是先前的W3C兼容的DOM模型的替換(即XMLDocument). LINQ to XML DOM設計極其優良並且可以高效執行. 即使沒有LINQ, LINQ to XML DOM作為對低級XmlReader和XMLWriter的門面(Facade)包裝也是非常有價值的.

所有的LINQ to XML類型都定義在System.XML.Linq命名空間下.

架構概貌

考慮以下的XML文件

   1: <?XML version="1.0" encoding="utf-8" standalone="yes"?>
   2: <customer id="123" status="archived">
   3:   <firstname>Joe</firstname>
   4:   <lastname>Bloggs</lastname>
   5: </customer>

對於所有的XML文件, 我們首先定義一個聲明, 然後定義一個root元素, 它的名稱是customer. customer元素包含有兩個屬性, 並各自有名稱(id和status)以及對應值(”123″和”archived”). customer還擁有兩個子元素, firstName和lastName, 它們還包含了各自的簡單文本內容(”Joe”和”Bloggs”).

所有的這些構件–聲明,元素,屬性,值以及文本內容, 都可以用一個類來展現. 如果這樣的一個類型擁有集合屬性來存儲子內容的話, 我們可以聚合一棵對象樹來描述一個文檔. 這被稱為文檔對象模型, 即DOM.

LINQ to XML包含兩個內容:

  1. 一個XML DOM, 我們稱它為X-DOM
  2. 一系列附加的查詢操作符

正如你可能期待的那樣, X-DOM的組成類型包括像XDocument, XElement以及XAttribute. 有趣的是, X-DOM的類型並不依賴於LINQ–在沒有編寫任何LINQ查詢的情況下你依然可以加載, 實例化, 更新以及保存一個X-DOM.

相反的, 你能夠使用LINQ去查詢一個DOM並創建一個老式的W3C兼容的類型. 然而, 過程可能會令人沮喪並且會有一定的限制. 一個區別(與W3C DOM比)的特征是XDOM是LINQ友好的, 這意味著:

  • 它擁有一些方法去處理IEnumerable序列
  • 可以通過LINQ去構建一棵XDOM對象樹

待續!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved