LINQ查询XML文档分析

开发 后端
这里介绍LINQ查询XML文档,LINQ to XML 是一种启用了 LINQ 的内存 XML 编程接口,使用它,可以在 .NET Framework 编程语言中处理 XML。

学习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文档

  1. <?xml version="1.0" encoding="utf-8"?> 
  2. <pets> 
  3. <pet> 
  4. <id>2</id> 
  5. <name>Dog</name> 
  6. <species>Some Kind of Cat</species> 
  7. <sex>Female</sex> 
  8. <startYear>1972</startYear> 
  9. <endYear>1974</endYear> 
  10. <causeOfDeath>Car</causeOfDeath> 
  11. <specialQuality>Best mouser</specialQuality> 
  12. </pet> 
  13. <pet> 
  14. <id>3</id> 
  15. <name>Sam</name> 
  16. <species>Labrador</species> 
  17. <sex>Female</sex> 
  18. <startYear>1973</startYear> 
  19. <endYear>1980</endYear> 
  20. <causeOfDeath>Old Age</causeOfDeath> 
  21. <specialQuality>Great hunting dog</specialQuality> 
  22. </pet> 
  23. </pets> 

载入文档后,XDocument或XElement的Elements()方法执行时返回IEnumrable<XElement>类型的子节点信息,Element()方法返回唯一的子节点信息。

查找所有pet的name。分别使用XDocument和XElement查找。

  1. XDocument document = XDocument.Load("MyPets.xml");  
  2. XElement element = XElement.Load("MyPets.xml");  
  3.  
  4. var name = from pet in document.Elements("pets").Elements("pet")  
  5. select pet.Element("name").Value;  
  6.  
  7. var pets = from pet in element.Elements("pet")  
  8. select pet;  
  9.  
  10. Array.ForEach(pets.ToArray(), p=>Console.WriteLine(p.Element("name").Value));  
  11. Array.ForEach(name.ToArray(), n => Console.WriteLine(n)); 

【编辑推荐】

  1. LINQ Customers类概括
  2. LINQ查询操作全面分析
  3. LINQ to SQL的Table剖析
  4. Linq数据分组全面描述
  5. LINQ查询基础概括
责任编辑:佚名 来源: IT168
相关推荐

2009-09-16 15:53:49

Linq创建xml文档

2009-09-16 15:48:05

Linq修改XML文档

2009-09-16 16:55:07

LINQ to XML

2009-01-04 16:58:48

LINQ to XMLLINQXML

2009-09-14 10:09:26

LINQ查询结果

2009-09-15 10:46:04

LINQ to SQL

2009-09-15 14:58:26

Linq查询本质

2009-09-16 10:48:32

LINQ查询操作

2009-09-14 18:53:27

LINQ查询

2009-09-18 16:46:15

LINQ查询句法

2011-07-22 08:43:08

XML

2009-09-14 16:21:34

LINQ To XML

2009-09-17 17:03:13

LINQ动态查询

2009-09-14 17:03:32

LINQ模糊查询

2009-09-17 13:54:26

LINQ to XML

2009-09-17 13:30:32

LINQ to XML

2009-09-17 08:47:00

Linq查询

2009-09-16 16:52:50

LINQ to XML

2009-09-16 15:33:22

LINQ to XML

2011-07-26 13:58:17

LINQ
点赞
收藏

51CTO技术栈公众号