天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

Linq To Xml學習 - 2.LINQ to XML 編程概述

Linq To Xml學習 - 2.LINQ to XML 編程概述

LINQ to XML 類概述

XAttribute 類

XAttribute 表示一個 XML 屬性。

XCData 類

XCData 表示一個 CDATA 文本節點。

XComment 類

XComment 表示一個 XML 注釋。

XContainer 類

XContainer 是適用于可能具有子節點的所有節點的抽象基類。 下面的類派生自 XContainer 類:

  • XElement

  • XDocument

XDeclaration 類

XDeclaration 表示一個 XML 聲明。 XML 聲明用于聲明 XML 版本和文檔的編碼。 此外,XML 聲明還指定 XML 文檔是否為獨立文檔。

XDocument 類

XDocument 表示一個 XML 文檔。

XDocumentType 類

XDocumentType 表示一個 XML 文檔類型定義 (DTD)。

XElement 類

XElement 表示一個 XML 元素。 有關詳細信息和示例,

XName 類

XName 表示元素 (XElement) 和屬性 (XAttribute) 的名稱。 有關詳細信息和示例,

LINQ to XML 旨在使 XML 名稱盡可能簡單。 XML 名稱由于復雜而通常被視為 XML 中的高級主題。 有證據證明,這種復雜性不是由開發人員編程時通常使用的命名空間造成的,而是由命名空間前綴造成的。 使用命名空間前綴可以減少輸入 XML 時需要的擊鍵數或使 XML 更具可讀性。 但前綴通常只是使用完整 XML 命名空間的快捷方式,在多數情況下并不需要。LINQ to XML 通過將所有前綴解析為其對應的 XML 命名空間來簡化 XML 名稱。 如果需要,可以通過 GetPrefixOfNamespace 方法可以使用前綴。

如果有必要,可以控制命名空間前綴。 在某些情況下,如果使用的是其他 XML 系統(如 XSLT 或 XAML),則需要控制命名空間前綴。 例如,如果 XPath 表達式使用 XSLT 樣式表中嵌入的命名空間前綴,則將需要確保使用與 XPath 表達式中使用的前綴相匹配的命名空間前綴來序列化 XML 文檔。

XNamespace 類

XNamespace 表示 XElement 或 XAttribute 的命名空間。 命名空間是 XName 的一個組件。

XNode 類

XNode 是一個抽象類,它表示 XML 樹的節點。 下面的類派生自 XNode 類:

  • XText

  • XContainer

  • XComment

  • XProcessingInstruction

  • XDocumentType

XNodeDocumentOrderComparer 類

XNodeDocumentOrderComparer 提供用于比較節點的文檔順序的功能。

XNodeEqualityComparer 類

XNodeEqualityComparer 提供用于比較節點的值是否相等的功能。

XObject 類

XObject 是 XNode 和 XAttribute 的抽象基類。 它提供批注和事件功能。

XObjectChange 類

XObjectChange 指定對 XObject 引發事件時的事件類型。

XObjectChangeEventArgs 類

XObjectChangeEventArgs 為 Changing 和 Changed 事件提供數據。

XProcessingInstruction 類

XProcessingInstruction 表示一個 XML 處理指令。 處理指令將信息傳遞給處理 XML 的應用程序。

XText 類

XText 表示一個文本節點。 多數情況下都不必使用此類。 此類主要用于混合內容。

XDocument 類概述

XDocument 類包含有效的 XML 文檔所需的信息。 其中包括 XML 聲明、處理指令和注釋。

請注意,如果需要 XDocument 類提供的特定功能,您只需創建 XDocument 對象。 在很多情況下,可以直接使用 XElement。 直接使用 XElement 是一種比較簡單的編程模型。

XDocument 是從 XContainer 派生的。 因此,它可以包含子節點。 但是,XDocument 對象只能有一個子 XElement 節點。 這反映了 XML 標準,即在 XML 文檔中只能有一個根元素。

在沒有 Xdocument 的情況下使用 XElement

如上所述,XElement 類是 LINQ to XML 編程接口中的主類。 在很多情況下,您的應用程序不需要您創建文檔。 通過使用 XElement 類,可以創建 XML 樹,向它添加其他 XML 樹,修改 XML 樹并進行保存。

若要構造一個 XDocument,可使用函數構造,正如您構造 XElement 對象那樣。

下面的代碼創建一個 XDocument 對象及其關聯的包含對象。

XDocument d = new XDocument(    new XComment("This is a comment."),    new XProcessingInstruction("xml-stylesheet",        "href='mystyle.css' title='Compact' type='text/css'"),    new XElement("Pubs",        new XElement("Book",            new XElement("Title", "Artifacts of Roman Civilization"),            new XElement("Author", "Moreno, Jordao")        ),        new XElement("Book",            new XElement("Title", "Midieval Tools and Implements"),            new XElement("Author", "Gazit, Inbar")        )    ),    new XComment("This is another comment."));d.Declaration = new XDeclaration("1.0", "utf-8", "true");Console.WriteLine(d);d.Save("test.xml");

當您檢查文件 test.xml 時, 會得到以下輸出:

xml version="1.0" encoding="utf-8"?>xml-stylesheet href='mystyle.css' title='Compact' type='text/css'?><Pubs>  <Book>    <Title>Artifacts of Roman CivilizationTitle>    <Author>Moreno, JordaoAuthor>  Book>  <Book>    <Title>Midieval Tools and ImplementsTitle>    <Author>Gazit, InbarAuthor>  Book>Pubs>

 

XElement 類概述

XElement 類是 LINQ to XML 中的基礎類之一。 它表示一個 XML 元素。 可以使用該類創建元素;更改元素內容;添加、更改或刪除子元素;向元素中添加屬性;或以文本格式序列化元素內容。 還可以與 System.Xml 中的其他類(例如 XmlReader、XmlWriter 和 XslCompiledTransform)進行互操作.

XElement 類提供的功能。

構造 XML 樹

可以使用各種方式構造 XML 樹,包括以下方式:

  • 可以在代碼中構造 XML 樹。

  • 可以從包括 TextReader、文本文件或 Web 地址 (URL) 在內的各種源解析 XML。

  • 可以使用 XmlReader 來填充樹。 有關更多信息,請參見 ReadFrom。

  • 如果您有一個可以將內容寫入 XmlWriter 的模塊,則可以使用 CreateWriter 方法來創建編寫器,將該編寫器傳遞到該模塊,然后使用寫入 XmlWriter 的內容來填充 XML 樹。

但是,創建 XML 樹的最常見的方法如下:

XElement contacts =    new XElement("Contacts",        new XElement("Contact",            new XElement("Name", "Patrick Hines"),             new XElement("Phone", "206-555-0144"),            new XElement("Address",                new XElement("Street1", "123 Main St"),                new XElement("City", "Mercer Island"),                new XElement("State", "WA"),                new XElement("Postal", "68042")            )        )    );

另一個創建 XML 樹的十分常用的方法是使用 LINQ 查詢的結果來填充 XML 樹,如下面的示例所示:

XElement srcTree = new XElement("Root",    new XElement("Element", 1),    new XElement("Element", 2),    new XElement("Element", 3),    new XElement("Element", 4),    new XElement("Element", 5));XElement xmlTree = new XElement("Root",    new XElement("Child", 1),    new XElement("Child", 2),    from el in srcTree.Elements()    where (int)el > 2    select el);Console.WriteLine(xmlTree);

此示例產生以下輸出:

<Root>  <Child>1Child>  <Child>2Child>  <Element>3Element>  <Element>4Element>  <Element>5Element><Root>

it知識庫Linq To Xml學習 - 2.LINQ to XML 編程概述,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 24小时日本在线观看片免费 | 蜜桃TV成人网站免费打开 | 国产精品久久国产三级国不卡顿 | 九九热这里只有国产精品 | 成人毛片免费播放 | 京香在线观看 | 亚洲成人在线免费观看 | 午夜电影三级还珠格格 | 久久青青草原精品国产软件 | 免费黄色网址在线观看 | 好满射太多了装不下了视频 | 国产成人片视频一区二区青青 | 樱花动漫成人隐藏入口 | 18video性欧美19sex高清 | 色男人的天堂久久综合 | 精品无码无人网站免费视频 | 啪啪羞羞GIF男女0OXX动态图 | adc影院欢迎您大驾光临入口 | 久久91精品国产91久 | 不卡无线在一二三区 | 无码AV动漫精品一区二区免费 | 亚洲精品无码国产爽快A片 亚洲精品无码成人AAA片 | 中文字幕亚洲综合小综合在线 | 性盈盈剧场 | 国产午夜三级一区二区三 | 亚洲欲色欲色XXXXX在线AV | 亚洲成A人片在线观看中文不卡 | 精品午夜久久影视 | 无码毛片内射白浆视频 | 粉嫩无套白浆第一次jk | 2020年国产精品午夜福利在线观看 | 成人伊人青草久久综合网 | 色吧.com | 中文字幕无码一区二区免费 | 欧式午夜理伦三级在线观看 | 小货SAO边洗澡边CAO你动漫 | 伊人香蕉在线播放视频免费 | 亚洲欧美日韩另类精品一区二区三区 | voyeurhit农村夫妻偷拍 | 黑粗硬大欧美在线视频 | 97 sese|