文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

DOM模型和LINQ模型有什么区别

2023-06-17 22:33

关注

这篇文章主要介绍“DOM模型和LINQ模型有什么区别”,在日常操作中,相信很多人在DOM模型和LINQ模型有什么区别问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”DOM模型和LINQ模型有什么区别”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

DOM模型和LINQ模型

我们知道关于XML,W3C有一套DOM模型,C#语言有一套在DOM模型下操作XML的类库。但是在LINQ模型出现以后,微软又重新做了一套关于XML的模型,而且操作起来同那套DOM模型没什么两样,但是更加的简单。

DOM模型和LINQ模型有什么区别

以上是一套新的类库。其中最核心的类就是XElement,不要看它的层次低,但是绝对是核心。还有一些其他特性与DOM模型不一样,其中之一就是XAttribute和XNode在同一个层次上,还有就是XDocument不再是必须的。其他不同点可以参考DOM模型自己比较。

下面用代码对比一下DOM模型和LINQ模型操作XML的区别:

//DOM模型   XmlDocument doc = new XmlDocument();  XmlElement name = doc.CreateElement("name");  name.InnerText = "Patrick Hines";  XmlElement phone1 = doc.CreateElement("phone");  phone1.SetAttribute("type", "home");  phone1.InnerText = "206-555-0144";  XmlElement phone2 = doc.CreateElement("phone");  phone2.SetAttribute("type", "work");  phone2.InnerText = "425-555-0145";  XmlElement street1 = doc.CreateElement("street1");  street1.InnerText = "123 Main St";  XmlElement city = doc.CreateElement("city");  city.InnerText = "Mercer Island";  XmlElement state = doc.CreateElement("state");  state.InnerText = "WA";  XmlElement postal = doc.CreateElement("postal");  postal.InnerText = "68042";  XmlElement address = doc.CreateElement("address");  address.AppendChild(street1);  address.AppendChild(city);  address.AppendChild(state);  address.AppendChild(postal);  XmlElement contact = doc.CreateElement("contact");  contact.AppendChild(name);  contact.AppendChild(phone1);  contact.AppendChild(phone2);  contact.AppendChild(address);  XmlElement contacts = doc.CreateElement("contacts");  contacts.AppendChild(contact);  doc.AppendChild(contacts);
//LINQ模型   XElement contacts =  new XElement("contacts",  new XElement("contact",  new XElement("name", "Patrick Hines"),  new XElement("phone", "206-555-0144",   new XAttribute("type", "home")),  new XElement("phone", "425-555-0145",  new XAttribute("type", "work")),  new XElement("address",  new XElement("street1", "123 Main St"),  new XElement("city", "Mercer Island"),  new XElement("state", "WA"),  new XElement("postal", "68042")  )  )  );

这里只是很简单的演示一些操作,至于那些复杂的操作,只要DOM模型能实现的LINQ模型就一定能实现。插入的时候还可以使用AddAfterThis和AddBeforeThis等方法,提高效率。

到此,关于“DOM模型和LINQ模型有什么区别”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯