<?xml version="1.0" encoding="utf-8"?>
<ROOT>
  <list>
    <id>1</id>
    <myName1>Annie</myName1>
    <myName2>Ainne</myName2>
    <mName>王夏</mName>
    <mAddress>杭州滨江</mAddress>
    <mySay>节日快乐</mySay>
  </list>
  <list>
    <id>2</id>
    <myName1>乐</myName1>
    <myName2>UK乐</myName2>
    <mName>王夏</mName>
    <mAddress>杭州滨江</mAddress>
    <mySay>节日快乐</mySay>
  </list>
</ROOT>
我页面传递一个ID过来 我想判断下如果ID等于XML中的ID,那么删除这个LIST节点
我试着写了下 都没删成功,希望各位牛人能帮下小弟。  
  string id =Request.QueryString["ID"].ToString();
                string xmlPath = Server.MapPath("/act/info.xml");
                XmlDocument xml = new XmlDocument();
                xml.Load(xmlPath);
                XmlNodeList xmlNode = xml.DocumentElement.ChildNodes;
                for (int i = 0; i < xmlNode.Count; i++)
                {
                    if (xmlNode[i].InnerText.Equals(id))
                    {
                        xml.RemoveChild(xmlNode[i]);
                    }
                }

解决方案 »

  1.   

     public static void Delete(string path, string node, string attribute)
            {
                try
                {
                    XmlDocument doc = new XmlDocument();
                    doc.Load(path);
                    XmlNode xn = doc.SelectSingleNode(node);
                    XmlElement xe = (XmlElement)xn;
                    if (attribute.Equals(""))
                        xn.ParentNode.RemoveChild(xn);
                    else
                        xe.RemoveAttribute(attribute);
                    doc.Save(path);
                }
                catch { }
            }
    XML操作类
      

  2.   

    if (xmlNode[0].ChildNodes[i].ChildNodes[0].InnerText.Equals(id))
      

  3.   

    子夜  我这个NODE应该怎么写呢?
      

  4.   

    随手写的,比较粗糙,见谅string id = Request.QueryString["ID"].ToString();
    string xmlPath = Server.MapPath("/act/info.xml");
    XmlDocument xml = new XmlDocument();
    xml.Load(xmlPath);
    string xpath = "/ROOT/list[id=" + id + "]";
    string par = xml.SelectSingleNode(xpath).ParentNode.Name;
    xml.SelectSingleNode(par).RemoveChild(xml.SelectSingleNode(xpath));
    xml.Save(xmlPath);
    xml = null;
      

  5.   

            string id="1";
            XmlDocument xml = new XmlDocument();
            xml.Load(Server.MapPath("XMLFile2.xml"));
            XmlNodeList node = xml.SelectNodes("/ROOT/list/id");
            foreach (XmlNode n in node)
            {
                if (n.InnerText == id)
                    n.ParentNode.ParentNode.RemoveChild(n.ParentNode);
            }
            xml.Save(Server.MapPath("XMLFile2.xml"));