net操作xml類

來源:互聯網
上載者:User

<?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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.