1. 程式人生 > >c# 操作xml檔案,新增、刪除節點

c# 操作xml檔案,新增、刪除節點

/// <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();


            }