c# 操作xml檔案,新增、刪除節點
阿新 • • 發佈:2018-12-15
/// <summary> /// 刪除當前選擇節點 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button6_Click(object sender, EventArgs e) { TreeNode tn = treeView1.SelectedNode; XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(@file); var root = xmlDoc.DocumentElement;//取到根結點 XmlNode element = xmlDoc.SelectSingleNode("PLCTest/" + tn.Name); foreach (XmlNode node in root.ChildNodes) { if (node.Attributes["name"].Value == tn.Text) { root.RemoveChild(node); xmlDoc.Save(@file); MessageBox.Show("刪除成功"); tree_refresh(); } }
/// <summary> /// 新增子節點 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button5_Click(object sender, EventArgs e) { order f2 = new order (); DialogResult dr= f2.ShowDialog(); if (dr == DialogResult.OK) { int Id = Convert.ToInt32(f2.str1); //XmlDocument xmlDoc = new XmlDocument(); //xmlDoc.Load(@file); TreeNode tn = treeView1.SelectedNode; XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(@file); var root = xmlDoc.DocumentElement;//取到根結點 XmlNode element = xmlDoc.SelectSingleNode("PLCTest/" + tn.Name); foreach (XmlNode node in root.ChildNodes) { if (node.Attributes["name"].Value == tn.Text) { XmlElement order = xmlDoc.CreateElement("Order"); node.AppendChild(order); XmlElement a = xmlDoc.CreateElement("Id"); a.InnerText = Convert.ToString (Id); order.AppendChild(a); xmlDoc.Save(@file); MessageBox.Show("新增成功"); tree_refresh(); } }
新增一級節點
private void button4_Click(object sender, EventArgs e) { parentname fpn = new parentname (); fpn.ShowDialog(); if (fpn.DialogResult == DialogResult.OK) { string name = fpn.str; XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(@file); var root = xmlDoc.DocumentElement;//取到根結點 XmlElement Name = xmlDoc.CreateElement("ActionFlow"); Name.SetAttribute("name", name); root.AppendChild (Name); xmlDoc.Save(@file); MessageBox.Show("新增成功"); tree_refresh(); }