学习LINQ查询时,经常会遇到LINQ查询XML文档问题,这里将介绍LINQ查询XML文档问题的解决方法。
LINQ to XML 是一种启用了 LINQ 的内存 XML 编程接口,使用它,可以在 .NET Framework 编程语言中处理 XML。 它将 XML 文档置于内存中,这一点很像文档对象模型 (DOM)。 您可以LINQ查询XML文档,修改之后,可以将其另存为文件,也可以将其序列化然后通过网络发送。 但是,LINQ to XML 与 DOM 不同:它提供一种新的对象模型,这是一种更轻量的模型,使用也更方便,这种模型利用了 Visual C# 2008 在语言方面的改进。
LINQ查询XML文档
- version="1.0" encoding="utf-8"?>
2 Dog Some Kind of Cat Female 1972 1974 Car Best mouser 3 Sam Labrador Female 1973 1980 Old Age Great hunting dog
载入文档后,XDocument或XElement的Elements()方法执行时返回IEnumrable
查找所有pet的name。分别使用XDocument和XElement查找。
- XDocument document = XDocument.Load("MyPets.xml");
- XElement element = XElement.Load("MyPets.xml");
- var name = from pet in document.Elements("pets").Elements("pet")
- select pet.Element("name").Value;
- var pets = from pet in element.Elements("pet")
- select pet;
- Array.ForEach(pets.ToArray(), p=>Console.WriteLine(p.Element("name").Value));
- Array.ForEach(name.ToArray(), n => Console.WriteLine(n));
【编辑推荐】