Linq To Xml學習 起源與實用

2022-01-31 02:07:27 字數 1879 閱讀 4048

linq to xml是一種啟用了 linq 的記憶體 xml 程式設計介面,使用它,可以在.net framework程式語言中處理xml

它將 xml 文件置於記憶體中,這一點很像文件物件模型 (dom)。 您可以查詢和修改 xml 文件,修改之後,可以將其另存為檔案,也可以將其序列化然後通過網路傳送。 但是,linq to xml 與 dom 不同: 它提供一種新的物件模型,這是一種更輕量的模型,使用也更方便,這種模型利用了 visual c# 2008 在語言方面的改進。

linq to xml 最重要的優勢是它與 language-integrated query (linq) 的整合。 由於實現了這一整合,因此,可以對記憶體 xml 文件編寫查詢,以檢索元素和屬性的集合。 linq to xml 的查詢功能在功能上(儘管不是在語法上)與 xpath 和 xquery 具有可比性。 visual c# 2008 整合 linq 後,可提供更強的型別化功能、編譯時檢查和改進的偵錯程式支援。

通過將查詢結果用作 xelement 和 xattribute 物件建構函式的引數,實現了一種功能強大的建立 xml 樹的方法。 這種方法稱為「函式構造」,利用這種方法,開發人員可以方便地將 xml 樹從一種形狀轉換為另一種形狀。

linq to xml 提供了改進的 xml 程式設計介面,這一點可能與 linq to xml 的 linq 功能同樣重要。 通過 linq to xml,對 xml 程式設計時,您可以實現任何預期的操作,包括:

建立 xml 樹是否方便,這一點非常重要。 例如,若要建立乙個小型 xml 樹,ic**網

可以編寫以下 c# **:

xelement contacts =

new xelement("contacts",

new xelement("contact",

new xelement("name", "patrick hines"),

new xelement("phone", "206-555-0144",

new xattribute("type", "home")),

new xelement("phone", "425-555-0145",

new xattribute("type", "work")),

new xelement("address",

new xelement("street1", "123 main st"),

new xelement("city", "mercer island"),

new xelement("state", "wa"),

new xelement("postal", "68042")

) )

);  請注意,縮排用於構造ic**網

xml 樹的**可顯示基礎 xml 的結構。

直接使用 xml 元素

在使用 xml 程式設計時,主要關注的通常是 xml 元素,也可能關注屬性。 在ic**網

linq to xml 中,可以直接使用 xml 元素和屬性。 例如,可以執行以下操作:

使用 linq to xml 時,僅在文件的根級別新增注釋或處理說明時,才需使用 xdocument 類

名稱和命名空間的簡化處理

處理名稱、命名空間和命名空間字首通常是 xml 程式設計的複雜部分。linq to xml 完全不需要處理命名空間字首,從而簡化了名稱和命名空間。 可以輕鬆控制命名空間字首。 但如果您決定不顯式控制命名空間字首,則在序列化時,linq to xml 將會分配命名空間字首(如果需要)或使用預設命名空間進行序列化。 如果使用預設命名空間,則生成的文件中將沒有命名空間字首。

linq to xml 也不需要使用者理解什麼是 nametable 以及其使用方式。

LINQ to XML 學習總結

一 命名空間 system.xml.linq.dll程式集定義了三個命名空間 system.xml.linq,system.xml.schema 和 system.xml.xpath 最核心的是system.xml.linq,定義了對應 xml 文件個方面的很多態別 system.xml.linq成...

Linq to Xml 學習筆記一

通過linq進行資料查詢 linq to xml 資料來源為xml文件,通過xelement xattribute 等類講xml 文件資料載入到記憶體中,通過linq查詢 link select grammer keywords from 指定要查詢的資料來源以及範圍變數 select 指定查詢要返...

實模式與保護模式解惑之(一) 二者的起源與區別

概述 實模式和保護模式是處理器發展的兩個非常重要的階段。這兩個模式下的程式設計也有著顯著的不同,弄明實模式與保護模式的區別是理解作業系統執行原理和編寫作業系統的基礎。本文主要講解了實模式和保護模式的區別和保護模式的起源,側重點在二者定址方式上的差異。最開始的程式定址是直接的 段 偏移 模式,這樣的好...