24.C#LINQ TO XML(十二章12.3)
自己也寫(xiě)了那么多,但還有很多不懂,有點(diǎn)浮躁吧,但飯還是要吃啊,說(shuō)說(shuō)LINQ TO XML吧。
LINQ TO XML位于System.Xml.Linq程序集,并且大多數(shù)類(lèi)型位于System.Xml.Linq命名空間。該命名空間下幾乎所有類(lèi)型都以X為前綴;普通DOM API中的Element對(duì)應(yīng)LINQ TO XML中的XElement。列舉下都有哪些類(lèi)型。
- 繼承于XContainer的Add方法有以下幾點(diǎn):
- 使用的幾個(gè)實(shí)例
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>?
- 查詢單個(gè)節(jié)點(diǎn)
對(duì)于XElement來(lái)說(shuō)可迭代的東西太多了,XElement包含很多軸方法(軸方法,個(gè)人理解就是直接了當(dāng)?shù)姆椒?,如什么什么點(diǎn),比如New Element("root").Elements就是返回在root下所有的子節(jié)點(diǎn),New Element("root").Attributes就是root中所有特性節(jié)點(diǎn)。還是羅列下吧,但不止這些。
對(duì)單個(gè)節(jié)點(diǎn)使用的軸方法返回的節(jié)點(diǎn)序列,完全可以使用LINQ來(lái)查詢,或者使用擴(kuò)展方法來(lái)做一些操作,可以看到LINQ從查詢內(nèi)存中object到數(shù)據(jù)庫(kù)中的數(shù)據(jù),再到XML,使用的都是相同的方法(對(duì)于我們使用者),完美地結(jié)合起來(lái)。
請(qǐng)斧正。
轉(zhuǎn)載于:https://www.cnblogs.com/a2htray/p/4257356.html
總結(jié)
以上是生活随笔為你收集整理的24.C#LINQ TO XML(十二章12.3)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: iPhone开发【一】从HelloWor
- 下一篇: Flexbox兼容性语法汇总