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);
//显示子节点点文本
// }
}
}

你可能感兴趣的:(xml)