LINQ to XML操作举例分析

发布时间:2021-12-02 09:11:22 作者:iii
来源:亿速云 阅读:109

这篇文章主要讲解了“LINQ to XML操作举例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“LINQ to XML操作举例分析”吧!

LINQ to XML操作

XElement xelem = XElement.Load(@"example.xml");  // 查询节点名为Item,并返回它们的PartNumber属性值的集合  IEnumerable<string> partNos = from item in xelem.Descendants("Item")  Select (string)item.Attribute("PartNumber");  foreach (string str in partNos)  Console.WriteLine(str);

在.NET3.5中,框架对LINQ to XML操作进行了扩展,这个扩展就是LINQ to XML。在名称空间System.Xml.LINQ下。从以上的代码我们可以看到增加了一个新的XElement对象。我们通过XElement.Load方法来装载XML文档,而不是传统的DOM模式XmlDocument.Load。

相比较于W3C的DOM文档结构来说,LINQ to XML为我们提供了一种更方便的创建一个XML文档的方式。

XElement contacts =  new XElement("Contacts",  new XElement("Name", "Ice Lee"),  new XElement("Phone", "010-876546",  new XAttribute("Type", "Home")),  new XElement("Phone", "425-23456",  new XAttribute("Type", "Work")),  new XElement("Address",  new XElement("Street", "ZhiXinCun"),  new XElement("City", "Beijin")  )  );  //输出结果:  <? Xml version="1.0" encoding="utf-8"?> <Contacts> <Name>Ice Lee</Name> <Phone Type="Home">010-876546</Phone> <Phone Type="Work">425-23456</Phone> <Address> <Street>ZhiXinCun</Street> <City>Beijing</City> </Address> </Contacts>

LINQ to XML提供了为丰富并且简洁的类来实现对XML的操作。相对于种类繁多的DOM模型的XML类库而言,LINQ的类使我们的学习曲线变得平滑并且还能达到相同的效果。LINQ to XML解决了DOM模型中的几个比较不方便的问题,如修改节点名字的问题;同时也抛弃了一些看起来很强大但是很不常用的东西,如实体和实体引用。这样使得LINQ to XML操作速度更快并且更方便。以下的几个例子将展示给大家LINQ to XML如何完成节点名称修改,增加和删除的效果。

首先,我们看一下添加一个节点到XML中是这么样实现的:

XElement xelem = XElement.Load(@"example.xml");  XElement newnewXelem = new XElement("NewNode", "This is new node");  xelem.Add(newXelem);

感谢各位的阅读,以上就是“LINQ to XML操作举例分析”的内容了,经过本文的学习后,相信大家对LINQ to XML操作举例分析这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

推荐阅读:
  1. 使用Linq注意事项避免报错的方法
  2. c#使用linq把多列的List转化为只有指定列的List

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

linq xml

上一篇:LINQ To SQL的Transaction举例分析

下一篇:SpringBoot2.0整合tk.mybatis异常怎么解决

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》