自己也寫了那么多,但還有很多不懂,有點浮躁吧,但飯還是要吃啊,說說LINQ TO XML吧。
LINQ TO XML位于System.Xml.Linq程序集,并且大多數類型位于System.Xml.Linq命名空間。該命名空間下幾乎所有類型都以X為前綴;普通DOM API中的Element對應LINQ TO XML中的XElement。列舉下都有哪些類型。
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,使用的都是相同的方法(對于我們使用者),完美地結合起來。
請斧正。
新聞熱點
疑難解答