用C#读取,添加,修改,删除XML文件内容.
UserBasicInfo.xml
<?xml version="1.0"?>
<UserBasicInfo>
<UserInfo>
<userGuid>userGuid</userGuid>
<userID>jiavia</userID>
<userPassword>19801020</userPassword>
<userQuestion>?</userQuestion>
<userAnwser>a</userAnwser>
<userName>卡卡西</userName>
<userSex>男</userSex>
<userBirth>19801020</userBirth>
<userEmail>jiavia@gmail.com</userEmail>
<userContactInfo>12345</userContactInfo>
</UserInfo>
<UserInfo>
<userGuid>zeoyeo</userGuid>
<userID>hhhhhhhh</userID>
<userPassword>147</userPassword>
<userQuestion>789</userQuestion>
<userAnwser>963</userAnwser>
<userName>321</userName>
<userSex>159</userSex>
<userBirth>753</userBirth>
<userEmail>456</userEmail>
<userContactInfo>182</userContactInfo>
</UserInfo>
</UserBasicInfo>
ControlXML.cs
//读取,添加,修改,删除节点
using System.Xml;
using System;
namespace XMLTest.AccessXML
{
/// <summary>
/// ControlXML 的摘要说明。
/// </summary>
public class ControlXML
{
private XmlDocument xmlDoc;
public ControlXML()
{
//
// TODO: 在此处添加构造函数逻辑
//
xmlDoc=new XmlDocument();
xmlDoc.Load("D://Study//C#//WinForm//XMLTest//XMLTest//AccessXML//UserBasicInfo.xml");
}
public void ReadNode()
{
XmlNode xnRoot=xmlDoc.DocumentElement;//获取唯一表示的根节点.
XmlNodeList xnlUserInfo=xnRoot.ChildNodes;//获取根节点的子节点.
foreach(XmlNode xnTheUser in xnlUserInfo)
{
XmlNodeList xnlUserSub=xnTheUser.ChildNodes;
foreach(XmlNode xnSub in xnlUserSub)
{
Console.WriteLine(xnSub.InnerText);//显示子节点点文本
}
Console.WriteLine("----------------------");
}
}
public void AddNode(string userGuid,string userID,string userPassword,string userQuestion,
string userAnwser,string userName,string userSex,string userBirth,
string userEmail,string userContactInfo)//添加节点.
{
//XmlNamespaceManager nsmgr = new XmlNamespaceManager(xmlDoc.NameTable);
XmlNode xnRoot=xmlDoc.DocumentElement;//查找<UserBasicInfo>根节点(元素)
XmlElement xeUserInfo=xmlDoc.CreateElement("UserInfo");//创建一个<UserInfo>节点
XmlElement xesub1=xmlDoc.CreateElement("userGuid");
xesub1.InnerText=userGuid;//节点.用户唯一识别码
xeUserInfo.AppendChild(xesub1);//添加到<USerInfo>节点中.
XmlElement xesub2=xmlDoc.CreateElement("userID");
xesub2.InnerText=userID;//节点.用户ID
xeUserInfo.AppendChild(xesub2);//添加到<USerInfo>节点中
XmlElement xesub3=xmlDoc.CreateElement("userPassword");
xesub3.InnerText=userPassword;//节点.用户密码
xeUserInfo.AppendChild(xesub3);//添加到<USerInfo>节点中
XmlElement xesub4=xmlDoc.CreateElement("userQuestion");
xesub4.InnerText=userQuestion;节点.用户密码提示
xeUserInfo.AppendChild(xesub4);//添加到USerInfo节点中.
XmlElement xesub5=xmlDoc.CreateElement("userAnwser");
xesub5.InnerText=userAnwser;//节点.用户密码回答
xeUserInfo.AppendChild(xesub5);//添加到<USerInfo>节点中
XmlElement xesub6=xmlDoc.CreateElement("userName");
xesub6.InnerText=userName;//节点.用户名
xeUserInfo.AppendChild(xesub6);//添加到<USerInfo>节点中
XmlElement xesub7=xmlDoc.CreateElement("userSex");
xesub7.InnerText=userSex;节点.用户性别
xeUserInfo.AppendChild(xesub7);//添加到USerInfo节点中.
XmlElement xesub8=xmlDoc.CreateElement("userBirth");
xesub8.InnerText=userBirth;//用户Email
xeUserInfo.AppendChild(xesub8);//添加到<USerInfo>节点中
XmlElement xesub9=xmlDoc.CreateElement("userEmail");
xesub9.InnerText=userEmail;//用户Email
xeUserInfo.AppendChild(xesub9);//添加到<USerInfo>节点中
XmlElement xesub10=xmlDoc.CreateElement("userContactInfo");
xesub10.InnerText=userContactInfo;
xeUserInfo.AppendChild(xesub10);
xnRoot.AppendChild(xeUserInfo);//将<UserInfo>添加到<UserBasicInfo>节点中.
xmlDoc.Save("D://Study//C#//WinForm//XMLTest//XMLTest//AccessXML//UserBasicInfo.xml");
}
public void SetNode(string userID,string userPassword,string userQuestion,
string userAnwser,string userName,string userSex,string userBirth,
string userEmail,string userContactInfo )//修改节点
{
XmlNode xnRoot=xmlDoc.DocumentElement;
XmlNode xnlUserInfo=xnRoot.SelectSingleNode("descendant::UserInfo[userID='"+userID+"']");
xnlUserInfo["userPassword"].InnerText=userPassword;
xnlUserInfo["userQuestion"].InnerText=userQuestion;
xnlUserInfo["userAnwser"].InnerText=userAnwser;
xnlUserInfo["userName"].InnerText=userName;
xnlUserInfo["userSex"].InnerText=userSex;
xnlUserInfo["userBirth"].InnerText=userBirth;
xnlUserInfo["userEmail"].InnerText=userEmail;
xnlUserInfo["userContactInfo"].InnerText=userContactInfo;
xmlDoc.Save("D://Study//C#//WinForm//XMLTest//XMLTest//AccessXML//UserBasicInfo.xml");
}
public void DelNode(string userID)
{
XmlNode xnRoot=xmlDoc.DocumentElement;
//找出第一个与之匹配的节点.
XmlNode xnlUserInfo=xnRoot.SelectSingleNode("descendant::UserInfo[userID='"+userID+"']");
xnRoot.RemoveChild(xnlUserInfo);
xmlDoc.Save("D://Study//C#//WinForm//XMLTest//XMLTest//AccessXML//UserBasicInfo.xml");
}
}
}