c#操作xml总体
c#操作xml,添加,修改,删除
xml文件:
<?xml version="1.0" encoding="utf-8"?>
<userlist>
<user id="1">
<name>zhxhdean</name>
<nickname>zhxhdean</nickname>
<sex>男</sex>
</user>
<user id="2">
<name>lancaofengye</name>
<nickname>lancaofengye</nickname>
<sex>女</sex>
</user>
</userlist>
c#程序:
/*************************************修改************************************/
XmlDocument MyXml = new XmlDocument();
MyXml.Load(Server.MapPath("~/zt/liangjian/DPXML.xml"));
XmlNodeList MyNodeList = MyXml.SelectSingleNode("userlist").ChildNodes;
foreach (XmlNode MyNode in MyNodeList)
{
XmlElement xe = (XmlElement)MyNode;//将子节点类型转换为XmlElement类型
if (xe.GetAttribute("id") == "1")
{
xe.SetAttribute("id", "10");//则修改该属性为“10”
XmlNodeList nls = xe.ChildNodes;//继续获取xe子节点的所有子节点
foreach (XmlNode xn1 in nls)//遍历
{
XmlElement xe2 = (XmlElement)xn1;//转换类型
if (xe2.Name == "nickname")//如果找到
{
xe2.InnerText = "goodboy";//则修改
break;//找到退出来就可以了
}
}
break;
}
}
/**************************************删除***********************************/
foreach (XmlNode xn in xnl)
{
XmlElement xe = (XmlElement)xn;
if (xe.GetAttribute("id") == "1")
{
xe.RemoveAttribute("id");//删除id属性
}
else if (xe.GetAttribute("id") == "1")
{
xe.RemoveAll();//删除该节点的全部内容
}
}
/**************************************添加***********************************/
XmlNode root = xmlDoc.SelectSingleNode("userlist");//查找<userlist>
XmlElement xe1 = xmlDoc.CreateElement("user");//创建一个<user>节点
xe1.SetAttribute("id", "11");//设置该节点id属性
XmlElement xesub1 = xmlDoc.CreateElement("name");
xesub1.InnerText = "C#";//设置文本节点
xe1.AppendChild(xesub1);//添加到<user>节点中
XmlElement xesub2 = xmlDoc.CreateElement("nickname");
xesub2.InnerText = "C#";
xe1.AppendChild(xesub2);
XmlElement xesub3 = xmlDoc.CreateElement("sex");
xesub3.InnerText = "unknow";
xe1.AppendChild(xesub3);
root.AppendChild(xe1);//添加到<userlist>节点中
/**************************************保存***********************************/
MyXml.Save(Server.MapPath("~/zt/liangjian/DPXML.xml"));//操作结束都要保存。
xml文件:
<?xml version="1.0" encoding="utf-8"?>
<userlist>
<user id="1">
<name>zhxhdean</name>
<nickname>zhxhdean</nickname>
<sex>男</sex>
</user>
<user id="2">
<name>lancaofengye</name>
<nickname>lancaofengye</nickname>
<sex>女</sex>
</user>
</userlist>
c#程序:
/*************************************修改************************************/
XmlDocument MyXml = new XmlDocument();
MyXml.Load(Server.MapPath("~/zt/liangjian/DPXML.xml"));
XmlNodeList MyNodeList = MyXml.SelectSingleNode("userlist").ChildNodes;
foreach (XmlNode MyNode in MyNodeList)
{
XmlElement xe = (XmlElement)MyNode;//将子节点类型转换为XmlElement类型
if (xe.GetAttribute("id") == "1")
{
xe.SetAttribute("id", "10");//则修改该属性为“10”
XmlNodeList nls = xe.ChildNodes;//继续获取xe子节点的所有子节点
foreach (XmlNode xn1 in nls)//遍历
{
XmlElement xe2 = (XmlElement)xn1;//转换类型
if (xe2.Name == "nickname")//如果找到
{
xe2.InnerText = "goodboy";//则修改
break;//找到退出来就可以了
}
}
break;
}
}
/**************************************删除***********************************/
foreach (XmlNode xn in xnl)
{
XmlElement xe = (XmlElement)xn;
if (xe.GetAttribute("id") == "1")
{
xe.RemoveAttribute("id");//删除id属性
}
else if (xe.GetAttribute("id") == "1")
{
xe.RemoveAll();//删除该节点的全部内容
}
}
/**************************************添加***********************************/
XmlNode root = xmlDoc.SelectSingleNode("userlist");//查找<userlist>
XmlElement xe1 = xmlDoc.CreateElement("user");//创建一个<user>节点
xe1.SetAttribute("id", "11");//设置该节点id属性
XmlElement xesub1 = xmlDoc.CreateElement("name");
xesub1.InnerText = "C#";//设置文本节点
xe1.AppendChild(xesub1);//添加到<user>节点中
XmlElement xesub2 = xmlDoc.CreateElement("nickname");
xesub2.InnerText = "C#";
xe1.AppendChild(xesub2);
XmlElement xesub3 = xmlDoc.CreateElement("sex");
xesub3.InnerText = "unknow";
xe1.AppendChild(xesub3);
root.AppendChild(xe1);//添加到<userlist>节点中
/**************************************保存***********************************/
MyXml.Save(Server.MapPath("~/zt/liangjian/DPXML.xml"));//操作结束都要保存。
浙公网安备 33010602011771号