如何使用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);
}
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);