http://www.aspcool.com/lanmu/browse1.asp?ID=446&bbsuser=xml

解决方案 »

  1.   


    XmlDocument xmldoc ;
    XmlNode     xmlnode ;
    XmlElement  xmlelem ;
    XmlElement  xmlelem1 ;
    XmlText     xmltext ;
    XmlTextWriter XMLWriter;//添加节点
    //初始化
    xmldoc = new XmlDocument ();
    xmldoc.Load ("Data.xml");
    xmlnode = xmldoc.DocumentElement;
    //添加一个名为DATA的子节点
    xmlelem = xmldoc.CreateElement ("DATA") ;
    //此子节点下的元素
    xmlelem1 = xmldoc.CreateElement ("ID") ;
    xmltext = xmldoc.CreateTextNode ("3") ;
    xmlelem1.AppendChild ( xmltext ) ;
    xmlelem.AppendChild ( xmlelem1 ) ; xmlelem1 = xmldoc.CreateElement ("NAME") ;
    xmltext = xmldoc.CreateTextNode ("user3") ;
    xmlelem1.AppendChild ( xmltext ) ;
    xmlelem.AppendChild ( xmlelem1 ) ; xmlelem1 = xmldoc.CreateElement ("Explain") ;
    xmltext = xmldoc.CreateTextNode ("><![CDATA[生日: 1977-5-8 姓名:FlashApp]]>") ;
    xmlelem1.AppendChild ( xmltext ) ;
    xmlelem.AppendChild ( xmlelem1 ) ; //结束此子节点
    xmldoc.DocumentElement.AppendChild(xmlelem);
    //保存
    xmldoc.Save("Data.xml");
    //删除节点
    XmlDataDocument dom=new XmlDataDocument();
    dom.Load ("Data.xml");
    XmlElement root = dom.DocumentElement;
    XmlNode node = root.SelectSingleNode("//DATA[MID=1]"); //查找要删除的节点
    if(node != null)//找到了,将其删除
    {
        node.RemoveAll();
    }
    //保存
    dom.Save("Data.xml");
    //修改就更容易了
    代码同上,找到要修改的节点后
    if(node != null)
    {
        node["Explain"].InnerText = "<![CDATA[生日:1978-5-8 姓名:哈哈]]>"
    }
    //保存
    dom.Save("Data.xml");
    这样添加,删除,修改就都OK了,希望能你能有所帮助!
      

  2.   

    首先,你的文档应该是这样:
    XML:如下
    <?xml version="1.0" encoding="utf-8" ?>
    <NEWDATA>
    <DATA>
    <ID>1</ID>
    <NAME>user1</NAME>
    <Explain><![CDATA[此处添加说明...]]></Explain>
    </DATA>
    <DATA>   ------少了个标记
    <ID>2</ID>
    <NAME>user2</NAME>
    <Explain><![CDATA[此处添加说明...]]></Explain>
    </DATA>
    <NEWDATA> 我的解答:
    System.Xml.XmlDocument doc=new System.Xml.XmlDocument();
    doc.Load("s.xml");//web页用Page.Server.MapPath("s.xml")
    XmlNode parentnode;
    parentnode = doc.DocumentElement;//保存根节点
    XmlNode datanode;//删除一个节点
    datanode = doc.SelectSingleNode("//NEWDATA//DATA[ID='1']");
    parentnode.RemoveChild(datanode);//删除该节点
    doc.Save("s.xml");//增加一个节点
    XmlElement e_field = vdoc.CreateElement("DATA");
    e_field.InnerXml = "<ID>3</ID>
    <NAME>user3</NAME>
    <Explain><![CDATA[生日: 1977-5-8 姓名:FlashApp]]></Explain>";
    parentnode.AppendChild(e_field);
    doc.Save("s.xml");

    //修改
    datanode = doc.SelectSingleNode("//NEWDATA//DATA[ID='1']");
    datanode["Explain"].InnerText = "<![CDATA[生日:1978-5-8 姓名:哈哈]]>"
    doc.Save("s.xml");如果有疑问给我发email:[email protected]
      

  3.   

    //增加一个节点
    XmlElement e_field = vdoc.CreateElement("DATA");----vdoc应为doc
    太粗心了?!