asp.net操作xml

下面是xml文档内容:

<content width="368" height="450" bgcolor="cccccc" loadercolor="ffffff" panelcolor="5d5d61" buttoncolor="5d5d61" textcolor="ffffff">
  <page src="pages/01.jpg" />
  <page src="pages/01.jpg" />
  <page src="pages/01.jpg" />
  <page src="pages/01.jpg" />
  <page src="pages/01.jpg" />
</content>

对xml进行添加操作:

protected void GetXmlData()
    {
        //提取xml文档
        XmlDocument xd = new XmlDocument();
        xd.Load(Server.MapPath("~/xml/Pages.xml"));

        XmlNode xn = xd.DocumentElement;//获取根节点

        XmlElement newItem = xd.CreateElement("page");//创建元素

        newItem.SetAttribute("src", "pages/01.jpg");  //赋值

        xn.AppendChild(newItem);
        xd.Save(Server.MapPath("~/xml/Pages.xml"));//保存xml文档
    }

对xml进行删除操作:

protected void DelXmlData()
    {
        //提取xml文档
        XmlDocument xd = new XmlDocument();
        xd.Load(Server.MapPath("~/xml/Pages.xml"));

        XmlNode xn = xd.DocumentElement;//获取根节点

        XmlNodeList items = xn.ChildNodes; //获取节点列表

        //删除所有节点
        int len = items.Count;  //不可用i<items.Count
        for (int i = 0; i < len; i++)
        {
            XmlElement page = (XmlElement)items[0];
            xn.RemoveChild(page); 
        }
        xd.Save(Server.MapPath("~/xml/Pages.xml"));//保存xml文档
    }

当然可以不用for循环删除,可以用

xn.RemoveAll();

但是它会同时删除content 根节点的属性,所以这里我用了循环删除。

原文地址:https://www.cnblogs.com/qk2014/p/3904821.html