溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

LINQ模型舉例分析

發(fā)布時間:2021-12-01 15:47:27 來源:億速云 閱讀:129 作者:iii 欄目:編程語言

這篇文章主要講解了“LINQ模型舉例分析”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“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不僅可以從頭創(chuàng)建xml文件,還可以使用Load的方法從文件加載。還可以從數(shù)據(jù)庫中取出所需元素,這就要用到LINQ TO SQL的東西了,同樣可以從數(shù)組中取出元素。操作完成后可以使用Save方法進行保存。

下面簡單介紹一下增刪查改XML。

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

我們看到在輸出XML元素的時候并不需要對每個元素進行強制的類型轉(zhuǎn)換,這里C#編譯器已經(jīng)做了這些事情,它會在輸出的時候調(diào)用每個元素的ToString()方法。

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

這里只是很簡單的演示一些操作,至于那些復(fù)雜的操作,只要DOM模型能實現(xiàn)的LINQ模型就一定能實現(xiàn)。插入的時候還可以使用AddAfterThis和AddBeforeThis等方法,提高效率。

//刪除元素  contact.Element("phone").Remove();  //刪除某一具體元素  contact.Elements("phone").Remove();  //刪除一組元素  contacts.Element(contact").Element("address").RemoveContent();  //刪除某一元素內(nèi)容  //刪除元素還可以使適用SetElement方法,把某一元素設(shè)置為null也就是刪除了這元素。  //修改元素  contact.Element("phone").ReplaceContent("425-555-0155");  //這里是修改***個phone元素的內(nèi)容

當(dāng)然同樣可以使用SetElement方法,這里才是它的用武之地。

感謝各位的閱讀,以上就是“LINQ模型舉例分析”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對LINQ模型舉例分析這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI