C#删除xml中某个节点的子节点方法

时间:2022-12-05 05:51:21
            if (File.Exists(xmlFilePath))
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(xmlFilePath);
XmlNodeList nlist = xmlDoc.SelectNodes("/configuration/appSettings/add");//获取了所有叫add的节点,而不是父节点的所有子节点
XmlNode appsetting = xmlDoc.SelectSingleNode("/configuration/appSettings");
//Delete related
foreach (XmlNode xn in nlist)
{ textbx_process.AppendText((xn.Attributes["key"].Value).ToString() + "\r\n"); if (xn.Attributes["key"].Value == "Azure1")
{
//xmlDoc.SelectSingleNode("/configuration/appSettings").RemoveChild(xn);
appsetting.RemoveChild(xn);
}
if (xn.Attributes["key"].Value == "Azure2")
{
//xmlDoc.SelectSingleNode("/configuration/appSettings").RemoveChild(xn);
appsetting.RemoveChild(xn);
}
if (xn.Attributes["key"].Value == "Azure3")
{
//xmlDoc.SelectSingleNode("/configuration/appSettings").RemoveChild(xn);
appsetting.RemoveChild(xn);
}
}

注意不宜采用注释掉的语句,否则删除不成功