首頁  >  文章  >  後端開發  >  詳細介紹Linq讀取XML的範例程式碼

詳細介紹Linq讀取XML的範例程式碼

黄舟
黄舟原創
2017-03-16 17:09:041314瀏覽

Linq To XML的核心類別XElement,一個XElement表示一個節點,new XElement("Order"),建立一個名字為Order的標籤,呼叫Add增加子節點,也是XElement 物件

以下是幾種LINQ操作XML的常見形式。

///寫入檔案(生成節點性質的)

XElement ePersons = new XElement("Persons");
XElement ptom = new XElement("Person"); //增加一个Person节点
ptom.Add(new XElement("Name", "Tom"));//在ptom下再增加子节点
ptom.Add(new XElement("Age", "18"));
ePersons.Add(ptom);
XElement pjack = new XElement("Person");
pjack.Add(new XElement("Name", "Jack"));
pjack.Add(new XElement("Age", "20"));
ePersons.Add(pjack);

最終產生:

Tom
18


Jack
20


////寫入檔案(產生屬性性質的)

 XElement ptom = new XElement("Person");
 ptom.Add(new XAttribute("Name", "tom"));//添加XAttribute就生成属性
 ptom.Add(new XAttribute("Age", "18"));
 ePersons.Add(ptom);

 XElement pjack = new XElement("Person");
 pjack.Add(new XAttribute("Name", "jack"));
 pjack.Add(new XAttribute("Age", "20"));
 ePersons.Add(pjack);

最終產生:

<span style="color: #0000ff;"><</span><span style="color: #800000;">Persons</span><span style="color: #0000ff;">></span><br><span style="color: #0000ff;"><</span><span style="color: #800000;">Person </span><span style="color: #ff0000;">Name</span><span style="color: #0000ff;">="tom"</span><span style="color: #ff0000;"> Age</span><span style="color: #0000ff;">="18"</span><span style="color: #0000ff;">/></span><br><span style="color: #0000ff;"><</span><span style="color: #800000;">Person </span><span style="color: #ff0000;">Name</span><span style="color: #0000ff;">="jack"</span><span style="color: #ff0000;"> Age</span><span style="color: #0000ff;">="20"</span><span style="color: #0000ff;">/></span><br><span style="color: #0000ff;"></</span><span style="color: #800000;">Persons</span><span style="color: #0000ff;">></span>

 //讀取XML 讀取節點格式的值

 XDocument xd= XDocument.Load("XML文件地址");

      foreach (XElement item in xd.Root.Descendants("Person"))//得到每一个Person节点,得到这个节点再取他的Name的这个节点的值
          {
             Console.WriteLine(item.Element("Age").Value);//Person的节点的下得节点为Name的
          }

注释:doc.root(得到根节点的XElement对象).XElement(“tagname”)方法得到的就是节点下第一个名字为tagname的节点。
如果doc.root。XElements(复数形式)就是得到所有的子节点,Descendants("“tagname”")子孙节点

  //讀取XML 讀取屬性格式的值

 XDocument xd= XDocument.Load(@"D:\Program Files\Demo\Demo\ConsoleApplication2\XMLFile2.xml");
           foreach (XElement item in xd.Root.Descendants("Person"))//得到每一个Person节点,得到这个节点再取他的Name的这个节点的值
           {
               Console.WriteLine(item.Attribute("Age").Value);//Person的节点的下得节点为Name的
           }

以上是詳細介紹Linq讀取XML的範例程式碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn