您的位置:首页 > 编程语言 > C#

c#对xml多属性节点的增加,删除,修改操作源码

2017-11-10 19:41 766 查看
别人的代码,可以借鉴一下,先保留明天上公司摘抄一下。

using System;

using System.Collections;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Web;

using System.Web.SessionState;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.HtmlControls;

using System.Xml;

 

private XmlDocument xmlDoc;

//load xml file

private void LoadXml()

{

xmlDoc=new XmlDocument();

xmlDoc.Load(Server.MapPath("User.xml"));

}

//添加节点

private void AddElement()

{

LoadXml();

XmlNode xmldocSelect=xmlDoc.SelectSingleNode("user");

XmlElement el=xmlDoc.CreateElement("person");

//添加person节点

el.SetAttribute("name","风云");

//添加person节点的属性"name"

el.SetAttribute("sex","女");

//添加person节点的属性 "sex"

el.SetAttribute("age","25");

//添加person节点的属性 "age"

XmlElement xesub1=xmlDoc.CreateElement("pass");

//添加person节点的里的节点

xesub1.InnerText="123";

//设置文本节点

el.AppendChild(xesub1);

XmlElement xesub2=xmlDoc.CreateElement("Address");

xesub2.InnerText="昆明";

//设置文本节点

el.AppendChild(xesub2); xmldocSelect.AppendChild(el); xmlDoc.Save(Server.MapPath("user.xml"));

}

//修改节点

private void UpdateElement()

{

LoadXml();

XmlNodeList nodeList=xmlDoc.SelectSingleNode("user").ChildNodes;

//获取bookstore节点的所有子节点

foreach(XmlNode xn in nodeList)

//遍历所有子节点

{

XmlElement xe=(XmlElement)xn;

//将子节点类型转换为XmlElement类型

if(xe.GetAttribute("name")=="风云")

//如果name属性值为“风云”

{

xe.SetAttribute("name","发明");

//如果下面有子节点在下走

XmlNodeList nls=xe.ChildNodes;

//继续获取xe子节点的所有子节点

foreach(XmlNode xn1 in nls)

//遍历

{

XmlElement xe2=(XmlElement)xn1;

//转换类型

if(xe2.Name=="pass")

//如果找到

{

xe2.InnerText="66666";

//则修改

break;

}

}

break;

}

}

xmlDoc.Save(Server.MapPath("user.xml"));

//保存

}

//删出节点

private void deleteNode()

{

LoadXml();

XmlNodeList xnl=xmlDoc.SelectSingleNode("user").ChildNodes;

foreach(XmlNode xn in xnl)

{

XmlElement xe=(XmlElement)xn;

if(xe.GetAttribute("name")=="发明")

{

//xe.RemoveAttribute("name");

//删除name属性

xe.RemoveAll();

//删除该节点的全部内容

break;

}

}

xmlDoc.Save(Server.MapPath("user.xml"));

//保存

}

private void showIt()

{

LoadXml();

XmlNode xn=xmlDoc.SelectSingleNode("user");

XmlNodeList xnl=xn.ChildNodes;

foreach(XmlNode xnf in xnl)

{

XmlElement xe=(XmlElement)xnf;

// Console.WriteLine(xe.GetAttribute("name"));

//显示属性值

// Console.WriteLine(xe.GetAttribute("sex"));

// XmlNodeList xnf1=xe.ChildNodes;

// foreach(XmlNode xn2 in xnf1)

// {

// Console.WriteLine(xn2.InnerText);

//显示子节点点文本

// }

}

}

非常好可以根据需求进行多项删除 转自 http://blog.csdn.net/zou_seafarer/article/details/6177667
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐