if(lbPattern.SelectedIndex == -1 )return;
XmlDocument xmlDom = new XmlDocument();
xmlDom.Load(@"D:\工作目录\key.xml");
XmlNode chooseNode= xmlDom.SelectSingleNode(@"//keyword[key='"+(string)lbPattern.SelectedItem+"']");

if(chooseNode != null)
{
  chooseNode.RemoveChild();
}
xmlDom.Save(@"D:\工作目录\key.xml");  //这里报错了??? 说文档格式不对,没有根结点?//应该怎么删除结点呢??求教

解决方案 »

  1.   

    chooseNode.RemoveChild()
    写错了,把上面的改成下面的
    xmlDom.RemoveChild(chooseNode);
      

  2.   

    xmlDom.Save(@"D:\工作目录\key.xml");把路径换成英文路径式式
      

  3.   


    已知有一个XML文件(bookstore.xml)如下:<?xml version="1.0" encoding="gb2312"?>
    <bookstore>
      <book genre="fantasy" ISBN="2-3631-4">
        <title>Oberon's Legacy</title>
        <author>Corets, Eva</author>
        <price>5.95</price>
      </book>
    </bookstore>
    删除 <book genre="fantasy" ISBN="2-3631-4">节点的genre属性,删除 <book genre="update李赞红" ISBN="2-3631-4">节点。 XmlNodeList xnl=xmlDoc.SelectSingleNode("bookstore").ChildNodes;
     
       foreach(XmlNode xn in xnl)
       {
        XmlElement xe=(XmlElement)xn;
     
         if(xe.GetAttribute("genre")=="fantasy")
        {
         xe.RemoveAttribute("genre");//删除genre属性
        }
        else if(xe.GetAttribute("genre")=="update李赞红")
        {
         xe.RemoveAll();//删除该节点的全部内容
        }
       }
       xmlDoc.Save("bookstore.xml");
      

  4.   

    楼上的说的很清楚了
    不过最后一句应该是xmlDoc.Save("文件保存的绝对路径");