国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

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

2019-11-17 02:36:19
字體:
來源:轉載
供稿:網友

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。列舉下都有哪些類型。

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

  1. Ancestors:祖先節點
  2. DescendantNodes:后代節點
  3. Annotations:注釋(注釋也是一個節點)
  4. Elements:子節點
  5. Descendants:后代
  6. 節點。。。。

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

  請斧正。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 广东省| 抚州市| 陈巴尔虎旗| 旬邑县| 南投市| 英超| 东乌珠穆沁旗| 雅江县| 澎湖县| 辽阳县| 巧家县| 六盘水市| 汽车| 西充县| 卢氏县| 滨州市| 铜陵市| 易门县| 清涧县| 建德市| 平罗县| 洪江市| 吴桥县| 江北区| 龙川县| 什邡市| 克拉玛依市| 固原市| 托克逊县| 肥西县| 南开区| 兴和县| 呼伦贝尔市| 利津县| 颍上县| 玉田县| 九江县| 宜章县| 汶川县| 柘城县| 仁布县|