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

C# 如何使用c从xml文件中删除空标记#,c#,xml,C#,Xml,我用C#创建了一个程序,可以在XML文件中添加和删除数据。 添加新数据完全可以,但是在删除数据时,数据会被删除,但空标记仍保留在xml文件中。 如何移除它们?请帮忙 代码如下: private void deleteall_Click(object sender, EventArgs e) // delete single record button { XmlDocument xdata = new XmlDocument(); XmlNode xnod

我用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);
        }

您必须捕获满足
条件的节点

在您的
if
条件内

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

而不是

Oelement.RemoveAll();

你能发布你的样本吗?这可能有帮助
1 2 w1 Active
这就是我得到的。这很有帮助。非常感谢。:)
Oelement.RemoveAll();