.net之XML

前言

想想畢業到現在已經工作了3個月,總結的知識點還是太少。這周因爲項目完成的差不多了,有空補充一下知識,上週學了XML嗎,一直都沒有總結。今天便總結一下,一方面梳理一下知識點,一方面鞏固下知識。

 XML的特性

  • 標籤要閉合
  • 屬性要用" "包圍。
  • Xml的大小寫敏感
  • 元素必須關閉
  • 標籤可以嵌套

怎麼獲取你已經建立的xml文件

1,先建立一個xml文件取名XMLFile1.xml

2,在同一目錄下建立一個webform頁面,獲取同類型的代碼如下

1 XmlDocument xd = new XmlDocument();
2 xd.Load(Server.MapPath("XMLFile1.xml"));

第一行代碼聲明一個XmlDocument類(想象一個裝xml文件的容器),第二行代碼把xml文件導入該容器。

 

怎麼獲取xml的節點

爲了更加直觀一點,直接上代碼:

 1             XmlElement xe=xd.DocumentElement;
 2             //獲取xml文件中的根元素
 3 
 4             XmlNode root = xd.SelectSingleNode("DocumentElement");
 5             //獲取xml文件中的第一個所找"DocumentElement"節點,此處因爲DocumentElement爲根節點,
 6             //所以可以用來獲取該xml文件中的全部節點
 7 
 8             XmlNode xn = root.FirstChild;
 9             //根節點下的第一個節點
10 
11             xn = root.LastChild;
12             //根節點下的最後一個節點
13 
14             XmlNodeList xnl=xd.SelectSingleNode("DocumentElement").ChildNodes;
15             //獲取xml文件中的全部孩子節點
16 
17 
18             xnl = root.SelectNodes("descendant::basic[Name='Lily']");
19             //獲取root節點下所有滿足name節點爲lily的一級子節點,語法爲("descendant::{0}[{1}"],root節點的一級子節點,條件)

 

 

附上一個簡單的xml

<DocumentElement>
  <basic>
    <ID>1</ID>
    <Name>Lily</Name>
  </basic>
  <basic>
    <ID>2</ID>
    <Name>Lucy</Name>
  </basic>
  <basic>
    <ID>3</ID>
    <Name>Lilei</Name>
  </basic>
  <basic>
    <ID>4</ID>
    <Name>HanMeiMei</Name>
  </basic>
  <basic>
    <ID>5</ID>
    <Name>LinTao</Name>
  </basic>
</DocumentElement>

 

 

節點的操作方法

下面寫了幾個常用的,歡迎補充

 1 增加節點

1 XmlElement xe = xd.CreateElement("basic");//新建節點
2             XmlElement xe2 = xd.CreateElement("ID");
3             xe2.InnerText = "5";//
4             xe.AppendChild(xe2);//把xe2放到basic節點裏
5             XmlElement xe3 = xd.CreateElement("Name");
6             xe3.InnerText = "HuangFeiHong";
7             xe.AppendChild(xe3);
8             root.InsertAfter(xe, root.SelectSingleNode("descendant::basic[Name='Lily']"));//xe爲要插入的節點,第二個參數爲要插入的位置
9             xd.Save(Server.MapPath("XMLFile1.xml"));//保存xml文件
View Code

 

2 刪除節點

            XmlNode root = doc.DocumentElement;
            XmlNode xn1 = root.SelectSingleNode("descendant::basic[ID='3']");
            root.RemoveChild(xn1);
View Code

 

3將xml顯示出來

sb爲StringBuilder類型;

sb.Append("<table>"); 
            XmlNodeList nodelist = root.SelectNodes("//basic");
            foreach (XmlNode xn in nodelist)
            {
                sb.Append("<tr>");
                XmlNodeList xnlist=xn.ChildNodes;
                foreach (XmlNode XN in xn)
                {
                    sb.Append("<td width='50px' height='20px'>");
                    sb.Append(XN.InnerText);
                    sb.Append("</td>");
                }
                sb.Append("</tr>");
            }
            sb.Append("</table>");

 

4 增刪查改,最後一個當然是改,不過此處不再貼出代碼,實際操作爲修改找到節點的innerText即可。

說說感想

雖然不怎麼寫博客,不過倒是看了很多,學習了很多,第一次寫這種總結性的博客,寫的不好希望大家給出意見。今天寫的這篇博客也花了有三個小時。臨時寫的程序,寫的過程發現了很多缺漏,重新梳理了很多知識。發現寫博客確實能幫助自己進步,鞏固知識,能把自己亂糟糟的知識一點點理出來。以後還會繼續寫。共勉!

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章