LINQ To XML類詳細(xì)分析
本文向大家介紹LINQ To XML類,可能好多人還不了解LINQ To XML類,沒(méi)有關(guān)系,看完本文你肯定有不少收獲,希望本文能教會(huì)你更多東西。
LINQ To XML類
下面重點(diǎn)學(xué)習(xí)三個(gè)類:XDocument,XElement,Xattribute
1.LINQ To XML類——XDocument類:表示一個(gè) XML 文檔。XDocument可以包含以下元素:
◆一個(gè) XDeclaration 對(duì)象。XDeclaration 使您能夠指定 XML 聲明的相關(guān)部分: XML 版本、文檔的編碼,以及 XML 文檔是否是獨(dú)立的。
◆一個(gè) XElement 對(duì)象。 這是 XML 文檔的根節(jié)點(diǎn)。
◆任意數(shù)目的 XProcessingInstruction 對(duì)象。 處理指令將信息傳遞給處理 XML 的應(yīng)用程序。
◆任意數(shù)目的 XComment 對(duì)象。 注釋將與根元素同級(jí)。 XComment 對(duì)象不能是列表中的第一個(gè)參數(shù),因?yàn)?XML 文檔以注釋開(kāi)頭無(wú)效。
◆一個(gè)用于 DTD 的 XDocumentType。
用XDocument創(chuàng)建XML文件
- XDocument d = new XDocument( new XDeclaration("1.0", "utf-8", "true"),
- 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")
- )
- )
- );
- Console.WriteLine(d.Declaration );
- Console.WriteLine(d);
- //XML文件
- <?xml version="1.0" encoding="utf-8" standalone="true"?>
- <!--This is a comment.-->
- <?xml-stylesheet href='mystyle.css' title='Compact' type='text/css'?>
- <Pubs>
- <Book>
- <Title>Artifacts of Roman Civilization</Title>
- <Author>Moreno, Jordao</Author>
- </Book>
- </Pubs>
2.LINQ To XML類——XElement類:表示一個(gè) XML 元素。XDocument 可以包含以下元素:
◆Xelement
◆Xcomment
◆XprocessingInstruction
◆XText
用XElement創(chuàng)建XML文件
- XElement xml1 = new XElement("Root",
- new XElement("Node1", 1),
- new XElement("Node2", 2),
- new XElement("Node3", 3),
- new XElement("Node4", 4),
- new XElement("Node5", 5),
- new XElement("Node6", 6)
- );
- XElement xml2 = new XElement("Root",
- from el in xml1.Elements()
- where ((int)el >= 3 && (int)el <= 5)
- select el
- );
- Console.WriteLine(xml2);
- //XML文件
- <Root>
- <Node3>3</Node3>
- <Node4>4</Node4>
- <Node5>5</Node5>
- </Root>
3.LINQ To XML類——XAttribute類:屬性是與元素關(guān)聯(lián)的名稱/值對(duì)。 XAttribute 類表示 XML 屬性。
屬性與元素之間有些區(qū)別。XAttribute 對(duì)象不是 XML 樹(shù)中的節(jié)點(diǎn)。 它們是與 XML 元素關(guān)聯(lián)的名稱/值對(duì)。 與文檔對(duì)象模型 (DOM) 相比,這更加貼切地反映了 XML 結(jié)構(gòu)。 雖然 XAttribute 對(duì)象實(shí)際上不是 XML 樹(shù)的節(jié)點(diǎn),但使用 XAttribute 對(duì)象與使用 XElement 對(duì)象非常相似。
- XElement phone = new XElement("Phone",
- new XAttribute("Type", "Home"),
- "555-555-5555");
- Console.WriteLine(phone);
【編輯推薦】