程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 24.C#LINQ TO XML(十二章12.3),

24.C#LINQ TO XML(十二章12.3),

編輯:C#入門知識

24.C#LINQ TO XML(十二章12.3),


  自己也寫了那麼多,但還有很多不懂,有點浮躁吧,但飯還是要吃啊,說說LINQ TO XML吧。

  LINQ TO XML位於System.Xml.Linq程序集,並且大多數類型位於System.Xml.Linq命名空間。該命名空間下幾乎所有類型都以X為前綴;普通DOM API中的Element對應LINQ TO XML中的XElement。列舉下都有哪些類型。

  • 繼承於XContainer的Add方法有以下幾點:
  • 使用的幾個實例
    1 var element = new XElement("root", new XElement("child"));
    2 Console.WriteLine(element);
    1 <root>
    2   <child />
    3 </root>
    1 var element1 = new XElement("root", new XElement("child", DateTime.Now));
    2 Console.WriteLine(element1);
    1 <root>
    2   <child>2015-01-28T22:35:41.9713268+08:00</child>
    3 </root>
    1 var list = new List<User> {
    2 new User {Name="a",Age=1 },
    3 new User {Name="b",Age=2 },
    4 new User {Name="c",Age=3 },
    5 new User {Name="d",Age=4 }
    6 };
    7 
    8 var element2 = new XElement("root", list.Select(user => new XElement("child", user.Name)));
    9 Console.WriteLine(element2);
    1 var element3 = new XElement("root", list.Select(user => new XElement("child", new XAttribute("name", user.Name), new XAttribute("age", user.Age))));
    2 Console.WriteLine(element3);
     1 <root>
     2   <child>a</child>
     3   <child>b</child>
     4   <child>c</child>
     5   <child>d</child>
     6 </root>
     7 
     8 
     9 <root>
    10   <child name="a" age="1" />
    11   <child name="b" age="2" />
    12   <child name="c" age="3" />
    13   <child name="d" age="4" />
    14 </root>

     

  • 查詢單個節點

  對於XElement來說可迭代的東西太多了,XElement包含很多軸方法(軸方法,個人理解就是直接了當的方法),如什麼什麼點,比如New Element("root").Elements就是返回在root下所有的子節點,New Element("root").Attributes就是root中所有特性節點。還是羅列下吧,但不止這些。

  對單個節點使用的軸方法返回的節點序列,完全可以使用LINQ來查詢,或者使用擴展方法來做一些操作,可以看到LINQ從查詢內存中object到數據庫中的數據,再到XML,使用的都是相同的方法(對於我們使用者),完美地結合起來。

  請斧正。

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