<?xml version="1.0"?>
<UserLogin>
<User>
<UserCode>001</UserCode>
<UserName>操作員1</UserName>
<UserPwd>111</UserPwd>
</User>
<User>
<UserCode>002</UserCode>
<UserName>操作員2</UserName>
<UserPwd>222</UserPwd>
</User>
</UserLogin>
類:
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Xml;
/**//// <summary>
/// Xml檔案的讀寫類
/// </summary>
///
public class XmlRW
{
public XmlRW()
{
//
// TODO: 在此處添加建構函式邏輯
//
}
//WriteXml 完成對User的添加操作
//FileName 當前xml檔案的存放位置
//UserCode 欲添加使用者的編碼
//UserName 欲添加使用者的姓名
//UserPassword 欲添加使用者的密碼
public void WriteXML(string FileName,string UserCode,string UserName,string UserPassword)
{
//初始化XML文檔操作類
XmlDocument myDoc = new XmlDocument();
//載入XML檔案
myDoc.Load(FileName);
//添加元素--UserCode
XmlElement ele = myDoc.CreateElement("UserCode");
XmlText text = myDoc.CreateTextNode(UserCode);
//添加元素--UserName
XmlElement ele1 = myDoc.CreateElement("UserName");
XmlText text1 = myDoc.CreateTextNode(UserName);
//添加元素--UserPwd
XmlElement ele2 = myDoc.CreateElement("UserPwd");
XmlText text2 = myDoc.CreateTextNode(UserPassword);
//添加節點 User要對應我們xml檔案中的節點名字
XmlNode newElem = myDoc.CreateNode("element", "User", "");
//在節點中添加元素
newElem.AppendChild(ele);
newElem.LastChild.AppendChild(text);
newElem.AppendChild(ele1);
newElem.LastChild.AppendChild(text1);
newElem.AppendChild(ele2);
newElem.LastChild.AppendChild(text2);
//將節點添加到文檔中
XmlElement root = myDoc.DocumentElement;
root.AppendChild(newElem);
//儲存
myDoc.Save(FileName);
}
//DeleteNode 完成對User的添加操作
//FileName 當前xml檔案的存放位置
//UserCode 欲添加使用者的編碼
public void DeleteNode(string FileName, string UserCode)
{
//初始化XML文檔操作類
XmlDocument myDoc = new XmlDocument();
//載入XML檔案
myDoc.Load(FileName);
//搜尋指定某列,一般是主鍵列
XmlNodeList myNode = myDoc.SelectNodes("//UserCode");
//判斷是否有這個節點
if (!(myNode == null))
{
//遍曆節點,找到合格元素
foreach (XmlNode xn in myNode)
{
if (xn.InnerXml == UserCode)
//刪除元素的父節點
xn.ParentNode.ParentNode.RemoveChild(xn.ParentNode);
}
}
//儲存
myDoc.Save(FileName);
}
//WriteXml 完成對User的修改密碼操作
//FileName 當前xml檔案的存放位置
//UserCode 欲操作使用者的編碼
//UserPassword 欲修改使用者的密碼
public void UpdateXML(string FileName, string UserCode, string UserPassword)
{
//初始化XML文檔操作類
XmlDocument myDoc = new XmlDocument();
//載入XML檔案
myDoc.Load(FileName);
//搜尋指定的節點
System.Xml.XmlNodeList nodes = myDoc.SelectNodes("//User");
if (nodes != null)
{
foreach (System.Xml.XmlNode xn in nodes)
{
if (xn.SelectSingleNode("UserCode").InnerText == UserCode)
{
xn.SelectSingleNode("UserPwd").InnerText = UserPassword;
}
}
}
myDoc.Save(FileName);
}
}
用法:
protected void Button1_Click(object sender, EventArgs e)
{
//添加引用,建立執行個體
XmlRW myXml = new XmlRW();
//調用我們實現定義好的方法,對應傳入各個參數
myXml.WriteXML(Server.MapPath("YtConfig.xml"), TextBox1.Text, TextBox2.Text, TextBox3.Text);
Response.Write("Save OK!");
}
protected void Button2_Click(object sender, EventArgs e)
{
XmlRW myXml = new XmlRW();
myXml.DeleteNode(Server.MapPath("YtConfig.xml"), TextBox1.Text );
Response.Write("Delete OK!");
}
protected void Button3_Click(object sender, EventArgs e)
{
XmlRW myXml = new XmlRW();
myXml.UpdateXML(Server.MapPath("YtConfig.xml"), TextBox1.Text, TextBox3.Text );
Response.Write("Update OK!");
}
本文來自CSDN部落格,轉載請標明出處:http://blog.csdn.net/fishpowersoft/archive/2007/12/21/1957113.aspx