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

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

创新互联公司长期为上千客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为玉屏企业提供专业的网站制作、成都网站设计,玉屏网站改版等技术服务。拥有十年丰富建站经验和众多成功案例,为您定制开发。

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模型有什么区别”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!


当前标题:DOM模型和LINQ模型有什么区别
标题链接:http://scyanting.com/article/jcgidj.html