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.
<?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>
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
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: 在此处添加构造函数逻辑 // } /**///// 大家注意 我们下面的内容在这里写 }
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 :
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); } }
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~
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!"); } }
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) !