真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

LINQtoXML是什么

本篇內(nèi)容介紹了“LINQ to XML是什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!

創(chuàng)新互聯(lián)建站是一家專業(yè)從事成都做網(wǎng)站、成都網(wǎng)站制作、網(wǎng)頁設計的品牌網(wǎng)絡公司。如今是成都地區(qū)具影響力的網(wǎng)站設計公司,作為專業(yè)的成都網(wǎng)站建設公司,創(chuàng)新互聯(lián)建站依托強大的技術實力、以及多年的網(wǎng)站運營經(jīng)驗,為您提供專業(yè)的成都網(wǎng)站建設、營銷型網(wǎng)站建設及網(wǎng)站設計開發(fā)服務!

在向大家詳細介紹LINQ to XML之前,首先讓大家了解下LINQ to Object。

LINQ to Object

MethodInfo[] methods = typeof(string).GetMethods();   var q = from t in methods   where (t.Name.Length > 15)   select t;

LINQ to Object主要是基于.NET框架里的Lambda表達式來實現(xiàn)的,因此上面的代碼運行結(jié)果等同于下面的代碼:

MethodInfo[] methods = typeof(string).GetMethods();   var q = methods   .Where((method) => method.Name.Length > 15)   .Select((name) => name.Name);

LINQ to XML

XElement xelem = XElement.Load(@"example.xml");   // 查詢節(jié)點名為Item,并返回它們的PartNumber屬性值的集合   IEnumerable partNos = from item in xelem.Descendants("Item")   Select (string)item.Attribute("PartNumber");   foreach (string str in partNos)   Console.WriteLine(str);

在.NET3.5中,框架對XML的操作進行了擴展,這個擴展就是LINQ to XML。在名稱空間System.Xml.LINQ下。從以上的代碼我們可以看到增加了一個新的XElement對象。我們通過XElement.Load方法來裝載XML文檔,而不是傳統(tǒng)的DOM模式XmlDocument.Load。

相比較于W3C的DOM文檔結(jié)構(gòu)來說,LINQ to XML為我們提供了一種更方便的創(chuàng)建一個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")   )   );   輸出結(jié)果:         Ice Lee   010-876546   425-23456   
   ZhiXinCun   Beijing   
   

LINQ to XML提供了為豐富并且簡潔的類來實現(xiàn)對XML的操作。相對于種類繁多的DOM模型的XML類庫而言,LINQ的類使我們的學習曲線變得平滑并且還能達到相同的效果。LINQ to XML解決了DOM模型中的幾個比較不方便的問題,如修改節(jié)點名字的問題;同時也拋棄了一些看起來很強大但是很不常用的東西,如實體和實體引用。這樣使得LINQ to XML的操作速度更快并且更方便。以下的幾個例子將展示給大家LINQ to XML如何完成節(jié)點名稱修改,增加和刪除的效果。

首先,我們看一下添加一個節(jié)點到XML中是這么樣實現(xiàn)的:

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

相當?shù)暮唵?,只要先生成一個XElement對象然后把它Add到當前節(jié)點對象就可以了。進一步我們仔細查看一下XElement可以添加節(jié)點的方法??梢钥吹揭还灿蠥dd, AddAfterSelf, AddAnnotation, AddBeforeSelf, AddFirst這五個方法。在默認情況下,Add的操作是將新節(jié)點作為被插入節(jié)點的***一個孩子節(jié)點插入的,而AddFirst正好相反。AddAfterSelf和AddBeforeSelf則是將節(jié)點作為兄弟節(jié)點插入的,這里要注意的是調(diào)用這兩個方法的時候不能以根節(jié)點作為被插入節(jié)點,因為XML文檔規(guī)定只能有一個根節(jié)點。***,我們來看一下AddAnnotation這個方法。

AddAnnotation是為一個節(jié)點添加一個相關的評注的類對象。這個類對象可以用戶自己定義,所以通過這個方法我們可以擴展XML文檔對象的功能,例如根據(jù)節(jié)點來獲取類對象的功能。下面是一段引用自msdn的代碼:

public class MyAnnotation   {   private string tag;   public string Tag { get { return tag; } set { tag = value; } }   public MyAnnotation(string tag)   {   this.tag = tag;   }   }   … …   MyAnnotation ma = new MyAnnotation("T1");   XElement root = new XElement("Root", "content");   root.AddAnnotation(ma);   MyAnnotation ma2 = (MyAnnotation)root.Annotation();

“LINQ to XML是什么”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!


標題名稱:LINQtoXML是什么
URL鏈接:http://weahome.cn/article/gpeces.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部