温馨提示×

温馨提示×

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

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

LINQ模型举例分析

发布时间:2021-12-01 15:47:27 来源:亿速云 阅读:130 作者:iii 栏目:编程语言

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

下面用代码对比一下:

//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")  )  )  );

从对比上我们也可以看出LINQ模型的简单性。我们还可以从LINQ模型上看出XElement的重要性。使用XElement不仅可以从头创建xml文件,还可以使用Load的方法从文件加载。还可以从数据库中取出所需元素,这就要用到LINQ TO SQL的东西了,同样可以从数组中取出元素。操作完成后可以使用Save方法进行保存。

下面简单介绍一下增删查改XML。

//查询  foreach (c in contacts.Nodes()) ...{  Console.WriteLine(c);  }

我们看到在输出XML元素的时候并不需要对每个元素进行强制的类型转换,这里C#编译器已经做了这些事情,它会在输出的时候调用每个元素的ToString()方法。

//插入元素  XElement mobilePhone = new XElement("phone", "206-555-0168");  contact.Add(mobilePhone);

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

//删除元素  contact.Element("phone").Remove();  //删除某一具体元素  contact.Elements("phone").Remove();  //删除一组元素  contacts.Element(contact").Element("address").RemoveContent();  //删除某一元素内容  //删除元素还可以使适用SetElement方法,把某一元素设置为null也就是删除了这元素。  //修改元素  contact.Element("phone").ReplaceContent("425-555-0155");  //这里是修改***个phone元素的内容

当然同样可以使用SetElement方法,这里才是它的用武之地。

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

向AI问一下细节

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

AI