一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

Linq To Xml學(xué)習(xí) - 2.LINQ to XML 編程概述

Linq To Xml學(xué)習(xí) - 2.LINQ to XML 編程概述

LINQ to XML 類概述

XAttribute 類

XAttribute 表示一個(gè) XML 屬性。

XCData 類

XCData 表示一個(gè) CDATA 文本節(jié)點(diǎn)。

XComment 類

XComment 表示一個(gè) XML 注釋。

XContainer 類

XContainer 是適用于可能具有子節(jié)點(diǎn)的所有節(jié)點(diǎn)的抽象基類。 下面的類派生自 XContainer 類:

  • XElement

  • XDocument

XDeclaration 類

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

XDocument 類

XDocument 表示一個(gè) XML 文檔。

XDocumentType 類

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

XElement 類

XElement 表示一個(gè) XML 元素。 有關(guān)詳細(xì)信息和示例,

XName 類

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

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

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

XNamespace 類

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

XNode 類

XNode 是一個(gè)抽象類,它表示 XML 樹的節(jié)點(diǎn)。 下面的類派生自 XNode 類:

  • XText

  • XContainer

  • XComment

  • XProcessingInstruction

  • XDocumentType

XNodeDocumentOrderComparer 類

XNodeDocumentOrderComparer 提供用于比較節(jié)點(diǎn)的文檔順序的功能。

XNodeEqualityComparer 類

XNodeEqualityComparer 提供用于比較節(jié)點(diǎn)的值是否相等的功能。

XObject 類

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

XObjectChange 類

XObjectChange 指定對(duì) XObject 引發(fā)事件時(shí)的事件類型。

XObjectChangeEventArgs 類

XObjectChangeEventArgs 為 Changing 和 Changed 事件提供數(shù)據(jù)。

XProcessingInstruction 類

XProcessingInstruction 表示一個(gè) XML 處理指令。 處理指令將信息傳遞給處理 XML 的應(yīng)用程序。

XText 類

XText 表示一個(gè)文本節(jié)點(diǎn)。 多數(shù)情況下都不必使用此類。 此類主要用于混合內(nèi)容。

XDocument 類概述

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

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

XDocument 是從 XContainer 派生的。 因此,它可以包含子節(jié)點(diǎn)。 但是,XDocument 對(duì)象只能有一個(gè)子 XElement 節(jié)點(diǎn)。 這反映了 XML 標(biāo)準(zhǔn),即在 XML 文檔中只能有一個(gè)根元素。

在沒有 Xdocument 的情況下使用 XElement

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

若要構(gòu)造一個(gè) XDocument,可使用函數(shù)構(gòu)造,正如您構(gòu)造 XElement 對(duì)象那樣。

下面的代碼創(chuàng)建一個(gè) XDocument 對(duì)象及其關(guān)聯(lián)的包含對(duì)象。

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");

當(dāng)您檢查文件 test.xml 時(shí), 會(huì)得到以下輸出:

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 中的基礎(chǔ)類之一。 它表示一個(gè) XML 元素。 可以使用該類創(chuàng)建元素;更改元素內(nèi)容;添加、更改或刪除子元素;向元素中添加屬性;或以文本格式序列化元素內(nèi)容。 還可以與 System.Xml 中的其他類(例如 XmlReader、XmlWriter 和 XslCompiledTransform)進(jìn)行互操作.

XElement 類提供的功能。

構(gòu)造 XML 樹

可以使用各種方式構(gòu)造 XML 樹,包括以下方式:

  • 可以在代碼中構(gòu)造 XML 樹。

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

  • 可以使用 XmlReader 來填充樹。 有關(guān)更多信息,請(qǐng)參見 ReadFrom。

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

但是,創(chuàng)建 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")            )        )    );

另一個(gè)創(chuàng)建 XML 樹的十分常用的方法是使用 LINQ 查詢的結(jié)果來填充 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);

此示例產(chǎn)生以下輸出:

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

it知識(shí)庫(kù)Linq To Xml學(xué)習(xí) - 2.LINQ to XML 編程概述,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 免费二级c片在线观看a | 久久综合亚洲一区二区三区 | 欧美成人全部费免网站 | 激情五月宗合网 | 伊人视屏 | 91av免费| 日韩三级一区二区三区 | 国产一区二区精品久久凹凸 | 国产一区二区三区波多野吉衣 | 97香蕉久久夜色精品国产 | 日韩精品永久免费播放平台 | 亚洲国产成人在线观看 | 色成年激情久久综合 | 免费视频色| 国产精品香蕉成人网在线观看 | 成年人视频在线 | 日本欧美国产精品第一页久久 | 婷婷五月在线视频 | 91短视频在线观看免费最新91 | 亚洲视频一区在线播放 | 韩国一区二区三区 | 久久公开视频 | 久久在精品线影院精品国产 | 四虎永久免费最新在线 | 精品欧美一区二区vr在线观看 | 韩国一级毛片a级免观看 | 最新国产成人综合在线观看 | 美女视频黄的全免费视频网站 | 国产成人综合亚洲欧美在线n | 亚洲国产乱码在线精品 | 很黄很色视频 | 热re91久久精品国产91热 | 国产成人禁片免费观看视频 | 二区三区在线 | 手机日韩理论片在线播放 | 国语对白精品视频在线观看 | 91成年人| 欧美在线观看免费一区视频 | 亚洲香蕉影院 | 性夜影院爽黄e爽痛轻点www | 国产 麻豆 |