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); // 显示子节点点文本 // } } }
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Rains卍Soft

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值