日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

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

發布時間:2024/1/17 C# 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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。列舉下都有哪些類型。

  • XName:表示元素和特性的名稱
  • XNamespace:表示XML的命名空間,通常是一個URL
  • XObject:是XNode和XAttribute的共同父類:與DOM API中不同,在LINQ TO XML中特性不是節點。如果某方法返回子節點的元素,這里面是不包含特性的
  • XNode:表示XML樹中的節點,它定義了各種用于操作和查詢樹的成員。
  • XAttribute:表示包含名/值對的特性,值從本質上講是文本,但可以顯式地轉換成其它數據類型
  • XContainer:是XML樹中包含子內容的節點
  • XText:表示文本節點,其派生類XCData是CDATA文本節點
  • XElement:它和XAttribute是LINQ TO XML中最常用的類,
  • XDocument:表示文檔
    • 繼承于XContainer的Add方法有以下幾點:
  • 空引用會被忽略
  • XNode和XAttribute實例可以添加
  • 字符串、數字、日期、時間等使用標準XML格式轉換成XText
  • 其它沒有特殊處理的對象將調用ToString()將其轉換成文本
    • 使用的幾個實例
      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中所有特性節點。還是羅列下吧,但不止這些。

  • Ancestors:祖先節點
  • DescendantNodes:后代節點
  • Annotations:注釋(注釋也是一個節點)
  • Elements:子節點
  • Descendants:后代
  • 節點。。。。
  •   對單個節點使用的軸方法返回的節點序列,完全可以使用LINQ來查詢,或者使用擴展方法來做一些操作,可以看到LINQ從查詢內存中object到數據庫中的數據,再到XML,使用的都是相同的方法(對于我們使用者),完美地結合起來。

      請斧正。

    轉載于:https://www.cnblogs.com/a2htray/p/4257356.html

    總結

    以上是生活随笔為你收集整理的24.C#LINQ TO XML(十二章12.3)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。