如何使用c#从xml文件中删除空标记

本文关键字:删除 文件 何使用 xml | 更新日期: 2023-09-27 17:49:27

我用c#创建了一个程序,用于在XML文件中添加和删除数据。添加新数据完全可以工作,但是在删除数据时,数据被删除,但空标记仍然保留在xml文件中。我该如何去除它们?请帮助

代码如下:

private void deleteall_Click(object sender, EventArgs e) // delete single record button
    {
        XmlDocument xdata = new XmlDocument();
        XmlNode xnode = xdata.SelectSingleNode("Information/Database");
        xdata.Load("C:''Users''son14344''Documents''Visual Studio 2010''Projects''project.xml");
        XmlNodeList oNodeList;
        oNodeList = xdata.SelectNodes("Information/Database");
        string s;
        s = Convert.ToString(textBox1.Text);
        try
        {
            foreach (XmlElement Oelement in oNodeList)
            {
                if (Oelement.SelectSingleNode("Database_Name").InnerText == s)
                {
                    //Oelement.ParentNode.RemoveChild(Oelement);
                    Oelement.RemoveAll();
                }
                xdata.Save("C:''Users''son14344''Documents''Visual Studio 2010''Projects''project.xml");
                //}
            }
        }
        catch (Exception ee)
        {
            MessageBox.Show(ee.Message);
        }

如何使用c#从xml文件中删除空标记

Try

 Oelement.ParentNode.RemoveChild(Oelement);
不是

Oelement.RemoveAll();

您必须捕获符合condition的节点。

您的if条件

  XmlNode node = Oelement.SelectSingleNode("Database_Name");
  XmlNode parent = node.ParentNode;
  // remove the child node
  parent.RemoveChild(node);