Maison > développement back-end > Tutoriel C#.Net > C# écrit des classes de lecture et d'écriture XML pour faire fonctionner les fichiers XML

C# écrit des classes de lecture et d'écriture XML pour faire fonctionner les fichiers XML

黄舟
Libérer: 2017-02-27 11:38:03
original
3415 Les gens l'ont consulté

C# écrit des classes de lecture et d'écriture XML pour faire fonctionner des fichiers XML


L'exemple suivant consiste à utiliser C# pour implémenter des opérations XML dans asp.net. L'environnement est vs2005. , puis Appelez-le lors de son utilisation.

Mise en œuvre : ajout, modification et suppression des informations de connexion des utilisateurs sans utiliser de base de données et en stockant uniquement un fichier XML localement.


Ce qui suit est le format du fichier User.xml, placé dans le site Web et le répertoire. Cet exemple sert uniquement à implémenter la fonction d'exploitation XML, donc le mot de passe de connexion n'est pas crypté. applications, vous devriez considérer cette question. Dans le même temps, ce fichier doit disposer d'une autorisation d'écriture, ce qui est plus facile à manquer.

C# écrit des classes de lecture et d'écriture XML pour faire fonctionner les fichiers XML

<?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>
Copier après la connexion

Commençons par coder. Tout d'abord, créons un site Web asp.net dans vs2005, sélectionnez le langage c#

et créez-en un nouveau. formulaire web. Mettez trois zones de texte et trois boutons. Il n'est pas nécessaire de changer les noms pour le moment. Pour la commodité de tout le monde (et ma paresse), les noms des contrôles ne sont pas modifiés dans cet exemple (rougir).

Créez ensuite un nouveau projet - classe, nommez-le XmlRW.cs et stockez-le dans le dossier app_Code

Ajoutez l'utilisation de XML en haut : en utilisant System.Xml comme code suivant

C# écrit des classes de lecture et d'écriture XML pour faire fonctionner les fichiers XML

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;
Copier après la connexion

C# écrit des classes de lecture et d'écriture XML pour faire fonctionner les fichiers XML

C# écrit des classes de lecture et d'écriture XML pour faire fonctionner les fichiers XML

/**//// <summary>
/// Xml文件的读写类
/// </summary>
/// 
public class XmlRW
...{
    public XmlRW()
    ...{
        //
        // TODO: 在此处添加构造函数逻辑
        //
    }
/**/////  大家注意 我们下面的内容在这里写
}
Copier après la connexion

Alors, Nous avons commencé à écrire trois méthodes pour compléter l'ajout, la modification et la suppression des enregistrements de fichiers XML, c'est-à-dire les opérations de UserCode, UserName et NamePwd. Le code est le suivant :

C# écrit des classes de lecture et d'écriture XML pour faire fonctionner les fichiers XML

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);
    }
}
Copier après la connexion

C# écrit des classes de lecture et d'écriture XML pour faire fonctionner les fichiers XML

Ok ! De cette façon, nous avons pratiquement terminé le fonctionnement de la classe XML. Revenons à la page que nous avons créée au début et ajoutons leurs codes correspondants aux trois boutons, afin qu'il soit très facile d'utiliser l'utilisateur connecté, hoo~

C# écrit des classes de lecture et d'écriture XML pour faire fonctionner les fichiers XML

using System;
using System.Data;
using System.Configuration;
using System.Collections;
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;
public partial class XmlTest1 : System.Web.UI.Page
...{
    protected void Page_Load(object sender, EventArgs e)
    ...{
    }
    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!");
    }
}
Copier après la connexion

C# écrit des classes de lecture et d'écriture XML pour faire fonctionner les fichiers XML

Exécutez le test, entrez le code utilisateur dans la zone de texte 1, remplissez le nom d'utilisateur dans la zone de texte 2 , remplissez textbox3 Entrez le mot de passe de connexion et cliquez sur le bouton 1 pour terminer l'ajout.... Notez que le xml doit être créé au préalable

Ce qui précède est le contenu de l'écriture des opérations de lecture et d'écriture XML en C#. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (m.sbmmt.com) !


Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal