【原】c#對xml的操作

來源:互聯網
上載者:User
1.載入xml
A.裝載已有的xml1   XmlDocument doc=new XmlDocument ();        
   doc.Load(Server.MapPath("students.xml"));

B.新建立xml  XmlDocument doc=new XmlDocument ();
  string strXml="<students>
  <student><id>1</id><name>hyq</name><age>24</age></student>
  <student><id>2</id><name>hyq2</name><age>25</age></student>
  <student><id>3</id><name>hyq3</name><age>26</age></student>
  <student><id>4</id><name>hyq4</name><age>27</age></student>
</students>";   
  doc.LoadXml(strXml);

2.擷取下級所有節點值 1 XmlDocument doc=new XmlDocument ();      
  doc.Load(Server.MapPath("students.xml"));

 2 XmlNodeList topM = doc.DocumentElement.ChildNodes;
 3 StringBuilder str = new StringBuilder("<ul>");
 4 foreach (XmlNode node in topM)
 5 {
 6                        
 7      str.Append("<li>姓名:" + node.ChildNodes[1].InnerText + ";年齡:" + node.ChildNodes[2].FirstChild.InnerText + "</li>");            
 8                          
 9   }
10  str.Append("</ul>"); 
11  lb_xml.Text = str.ToString();

PS:上面代碼中綠色字部分是擷取根節點。另一種擷取所有節點的方法,如果只是擷取部分節點的話,建議用此方法selectNodes
1 XmlNodeList nodeLists = doc.SelectNodes("students/student")
2  foreach (XmlNode node in nodeLists)
3          {
4                        
5              str.Append("<li>姓名:" + node.ChildNodes[1].InnerText + ";年齡:" + node.ChildNodes[2].FirstChild.InnerText + "</li>");            
6                          
7          }
8          str.Append("</ul>"); 
9          lb_xml.Text = str.ToString();

3.增加節點增加已存在的節點副本
1 XmlNode node2 = doc.DocumentElement.ChildNodes[0].CloneNode(true);
2          node2.ChildNodes[0].InnerText = "6";
3          node2.ChildNodes[1].InnerText = "second";
4          node2.ChildNodes[2].InnerText = "135";
5          doc.DocumentElement.AppendChild(node2);增加全新的節點
1          XmlNode node1 = doc.CreateNode(XmlNodeType.Element, "job", "");
2          XmlNode node11 = doc.CreateNode(XmlNodeType.Element, "name", "");
3          node11.InnerText = "net";
4          node1.AppendChild(node11);       
5          doc.DocumentElement.AppendChild(node1);

PS:例子中是以在根節點下增加節點為例,將此節點相應改變,就可在任意節點下增加節點或屬性。
另注意下:node.CloneNode(bool deep)方法,當deep=true時,表示複製節點下的子節點和自己;deep=false時,
只複製自己。
4。刪除節點 doc.DocumentElement.RemoveChild(XmlNode node)

(簡單事,簡單處理)



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.