LINQ To XML详细描述

开发 后端
这里介绍LINQ To XML——XML操作,XML数据越来越广泛地应用在各种实际的开发系统中,为了简化对XML数据的开发和利用,微软的开发团队开发了这个全新的LINQ to XML框架。

在向大家详细介绍LINQ To XML——XML操作之前,首先让大家了解下LINQ to XML框架是一个轻量级的XML编程API,然后全面介绍XML操作。

LINQ To XML——XML操作

XML数据越来越广泛地应用在各种实际的开发系统中,为了简化对XML数据的开发和利用,微软的开发团队开发了这个全新的LINQ to XML框架。首先,LINQ to XML框架是一个轻量级的XML编程API,开发者利用该框架,几乎可以取代原有的XML数据开发方式,非常简单地创建、读取并操作内存中的XML数据,如利用函数构造方法创建XML树等。其次,LINQ to XML框架中集成了LINQ的强大功能,开发者可以采用一致的编程方式,非常容易地操作并查询XML数据。

  1. XElement Students = new XElement("Students",  
  2. new XElement("Student",  
  3. new XElement("Name", "张三"),  
  4. new XElement("Sex", "男"),  
  5. new XElement("Age", 20)),  
  6. new XElement("Student",  
  7. new XElement("Name", "李四"),  
  8. new XElement("Sex", "女"),  
  9. new XElement("Age", 19))  
  10. );  
  11. Console.WriteLine(Students);  
  12. 编历XML  
  13. XElement Students = new XElement("Students",  
  14. new XElement("Student",  
  15. new XElement("Name", "张三"),  
  16. new XElement("Sex", "男"),  
  17. new XElement("Age", 20)),  
  18. new XElement("Student",  
  19. new XElement("Name", "李四"),  
  20. new XElement("Sex", "女"),  
  21. new XElement("Age", 19))  
  22. );  
  23. foreach (XNode node in Students.Nodes())  
  24. {  
  25. Console.WriteLine(node);  
  26. Console.WriteLine("----------------------------");  
  27. }  
  28. foreach (XElement ele in Students.Elements())  
  29. {  
  30. Console.WriteLine(ele);  
  31. Console.WriteLine("********************************");  

添加XML节点

  1. XElement Students = new XElement("Students",  
  2.  
  3. new XElement("Student",  
  4. new XElement("Name", "张三"),  
  5. new XElement("Sex", "男"),  
  6. new XElement("Age", 20)),  
  7. new XElement("Student",  
  8. new XElement("Name", "李四"),  
  9. new XElement("Sex", "女"),  
  10. new XElement("Age", 19))  
  11. );  
  12. foreach (XElement ele in Students.Elements())  
  13. {  
  14. ele.Element("Age").AddAfterSelf(new XElement("Hight", 173));  
  15. ele.Element("Age").AddBeforeSelf(new XElement("Weight", 73));  
  16. ele.Add (new XElement("Hobby", "Coding"));  
  17. }  
  18. Console.WriteLine(Students)  
  19. 更新XML节点  
  20. XElement Students = new XElement("Students",  
  21. new XElement("Student",  
  22. new XElement("Name", "张三"),  
  23. new XElement("Sex", "男"),  
  24. new XElement("Age",new XAttribute ("Year",1989/8/22), 20))  
  25. );  
  26. Students.Element(“Student”).Element(“Age”).ReplaceWith(new XElement(“Age”, 28));
  27. //替换掉整个节点  
  28. // Students.Element(“Student”).Element(“Age”).ReplaceNodes ( 28);//只替换节点值  
  29. // Students.Element(“Student”).Element(“Age”).ReplaceAll (28);//替换掉整个节点  
  30. Console.WriteLine(Students);  
  31. 删除XML节点  
  32. XElement Students = new XElement("Students",  
  33. new XElement("Student",  
  34. new XElement("Name", "张三"),  
  35. new XElement("Sex", "男"),  
  36. new XElement("Age",new XAttribute ("Year","1989/8/22"), 20))  
  37. );  
  38. //Students.Element("Student").Element("Age").Remove ();//移除节点  
  39. //Students.Element("Student").Element("Age").RemoveAll();//移除节点的值和属性  
  40. Students.Element("Student").Element("Age").RemoveNodes();//移除节点的值  
  41. Console.WriteLine(Students);  
  42. 添加XML属性  
  43. XElement Students = new XElement("Students",  
  44. new XElement("Student",  
  45. new XElement("Name", "张三"),  
  46. new XElement("Sex", "男"),  
  47. new XElement("Age",new XAttribute ("Year","1989/8/22"), 20))  
  48. );  
  49. Students.Element("Student").SetAttributeValue("dd","dddd");  
  50. Console.WriteLine(Students);  
  51. 更新XML属性  
  52. Students.Element("Student").Element("Age").ReplaceAttributes(new XAttribute("Year","dd"));  
  53. Students.Element("Student").Element("Age").SetAttributeValue("Year", "dddd");  
  54. 删除XML属性  
  55. Students.Element("Student").Element("Age").Attribute("Year").Remove ();  
  56. Students.Element("Student").Element("Age").RemoveAttributes ();  
  57. 遍历XML属性  
  58. var Attr = from att in Students.Element("Student").Element("Age").Attributes()  
  59. select att;  
  60. foreach (var att in Attr)  
  61. {  
  62. Console.WriteLine(att);  

【编辑推荐】

  1. LINQ查询操作剖析
  2. LINQ生成字符串概述
  3. LINQ查询语法简单描述
  4. LINQ解决方案简单概述
  5. LINQ查询结果分析
责任编辑:佚名 来源: IT168
相关推荐

2009-09-14 14:58:52

LINQ to XML

2009-09-14 13:14:49

LINQ序列

2009-09-08 11:09:39

LINQ数据源

2009-09-24 16:19:53

Hibernate应用

2009-09-25 14:28:40

Hibernate S

2010-02-05 16:58:18

Android服务

2009-11-18 11:14:49

2009-09-16 15:48:05

Linq修改XML文档

2009-09-25 11:04:32

Hibernate3实

2009-08-10 16:40:03

C#索引器

2009-10-15 14:59:45

网络布线光纤技术

2010-04-09 17:45:06

Oracle索引

2009-09-07 15:15:43

2009-08-26 15:53:48

C#扩展方法

2009-08-27 15:17:40

C# const变量

2009-10-10 10:04:50

RHEL合法使用

2010-09-07 16:34:47

DB2 XML

2010-09-08 15:10:48

2011-11-02 09:29:42

存储虚拟化虚拟化

2009-09-03 17:59:18

C#调用事件
点赞
收藏

51CTO技术栈公众号