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

别人的代码,可以借鉴一下,先保留明天上公司摘抄一下。

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);

//显示子节点点文本

// }

}

}

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值