C# XML 新增,修改,刪除Xml節點
阿新 • • 發佈:2019-02-10
//新增xml節點 private void AddXml(string image, string title) { XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(Server.MapPath("../flash/dati.xml")); XmlNode root = xmlDoc.SelectSingleNode("images");//查詢<images> XmlElement xe1 = xmlDoc.CreateElement("thumb");//建立一個<thumb>節點 xe1.SetAttribute("displayNum", "6");//設定該節點displayNum屬性 xe1.SetAttribute("separation", "5");//設定該節點separation屬性 XmlElement xesub1 = xmlDoc.CreateElement("image"); xesub1.InnerText = image;//設定文字節點 xe1.AppendChild(xesub1);//新增到thumb節點中 XmlElement xesub2 = xmlDoc.CreateElement("description"); xesub2.InnerText = title; xe1.AppendChild(xesub2); root.AppendChild(xe1);//新增到<images>節點中 xmlDoc.Save(Server.MapPath("../flash/dati.xml")); } //刪除節點內容 private void DelXml(string image) { XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(Server.MapPath("../flash/dati.xml")); XmlNodeList xnl = xmlDoc.SelectSingleNode("images").ChildNodes; //查詢節點 foreach (XmlNode xn in xnl) { XmlElement xe = (XmlElement)xn; if (xe.InnerText.IndexOf(image,0) >= 0) { xn.ParentNode.RemoveChild(xn); // xn.RemoveAll(); } } xmlDoc.Save(Server.MapPath("../flash/dati.xml")); } //修改 foreach(XmlNode xn in nodeList)//遍歷所有子節點 { XmlElement xe=(XmlElement)xn;//將子節點型別轉換為XmlElement型別 if(xe.GetAttribute("genre")=="")// 判讀條件 { xe.SetAttribute("genre",newStr);//則修改該屬性為newstr XmlNodeList nls=xe.ChildNodes;//繼續獲取xe子節點的所有子節點 foreach(XmlNode xn1 in nls)//遍歷 { XmlElement xe2=(XmlElement)xn1;//轉換型別 if(xe2.Name=="author")//如果找到 //判讀條件 { xe2.InnerText=newText;//則修改 break;//找到退出來就可以了 } } break; }