步步为营-22-xml登录

说明:通过xml完成用户登录信息的判断

1 搭建UI页面

2 新建一个student类,类中包含以上属性

public class Student
    {
        public int ID { get; set; }
        public string Name { get; set; }
        public int Age { get; set; }
        public char Gender { get; set; }

    }

Student

3 页面加载时,先获取xml文件(包含了多个student)

4 首先进行添加
  4.1 先判断文件是否存在

    存在:加载  不存在:创建并添加

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Xml;

namespace XML_Login
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        List<Student> list = new List<Student>();

        //1创建xml对象
        XmlDocument doc = new XmlDocument();
        private void Form1_Load(object sender, EventArgs e)
        {

        }

        #region 01创建文件

        public void CreateFile()
        {
            //1创建声明信息
            XmlDeclaration dec = doc.CreateXmlDeclaration("1.0", "utf-8", null);
            doc.AppendChild(dec);
            //2创建person根节点
            XmlElement person = doc.CreateElement("Person");
            doc.AppendChild(person);
            AddNode(person);
        }
        #endregion

        #region  03添加节点
        private void AddNode(XmlElement person)
        {
            //3创建Student子节点
            XmlElement student = doc.CreateElement("Student");
            person.AppendChild(student);
            //4Student子节点设置属性Id
            student.SetAttribute("ID", txtID.Text.Trim());
            //5Student添加Name节点
            XmlElement name = doc.CreateElement("Name");
            name.InnerText = txtName.Text.Trim();
            student.AppendChild(name);
            //5Student添加Age节点
            XmlElement age = doc.CreateElement("Age");
            age.InnerText = txtAge.Text.Trim();
            student.AppendChild(age);
            //6Student添加Gender节点
            XmlElement gender = doc.CreateElement("Gender");
            if (RDMan.Checked == true)
            {
                gender.InnerText = "男";
            }
            else
            {
                gender.InnerText = "女";
            }
            student.AppendChild(gender);
        }
        #endregion

        #region 04判断studentID是否存在
        public bool IsExist()
        {
            doc.Load("Person.xml");
            //1 获取根节点
            XmlElement person = doc.DocumentElement;
            //2 获取所有student的属性
            XmlNodeList students = person.ChildNodes;
            List<string> listID = new List<string>();
            foreach (XmlNode item in students)
            {
                listID.Add(item.Attributes["ID"].Value);
            }
            if (listID.Contains(txtID.Text))
            {
                return true;
            }
            return false;
        }
        #endregion

        #region 04"添加"按钮触发事件
        private void btnAdd_Click(object sender, EventArgs e)
        {
            int Id;
            if (!int.TryParse(txtID.Text.Trim(), out Id))
            {
                MessageBox.Show("ID请输入正整数");
                return;
            }
            if (File.Exists("Person.xml"))
            {
                //判断student ID是否存在
                if (IsExist())
                {
                    MessageBox.Show("ID已存在");
                    return;
                }
                //添加节点
                doc.Load("Person.xml");
                XmlElement person = doc.DocumentElement;
                AddNode(person);
            }
            else
            {
                //创建文件--同时把当前页面的Student信息保存到文件中
                CreateFile();
            }
            doc.Save("Person.xml");
            MessageBox.Show("保存成功!");
        }
        #endregion
    }
}

5

  

时间: 2024-11-01 20:56:50

步步为营-22-xml登录的相关文章

步步为营-76-用户登录(Session+Cookie)

说明:cookie是保存在浏览器的.Session是存储在服务器的 1 同样UI页面还是web前端提供 1.1 首先,经过验证码校验:将系统产生的验证码放入到Session中,然后取Session值注意几点 1:放入Session时需要实现 IRequiresSessionState接口(因为是ashx,一般处理程序) 2:使用前先判断是否为空            3:用完验证码Session值注销(否则会有漏洞) using System; using System.Collections.

12.22 repeater 登录

using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls; public partial class denglu : System.Web.UI.Page{ protected void Page_Load(object sender, EventArgs e) { } protected

四、SSM三大框架整合之登录功能实现

1.整合思路 ①.表现层,也就是 Controller,由 SpringMVC 来控制,而SpringMVC 是Spring 的一个模块,故不需要整合. ②.业务层,也就是 service,通常由 Spring 来管理 service 接口,我们会使用 xml 配置的方式来将 service 接口配置到 spring 配置文件中.而且事务控制一般也是在 service 层进行配置. ③.持久层,也就是 dao 层,而且包括实体类,由 MyBatis 来管理,通过 spring 来管理 mappe

Android 实现QQ第三方登录

在项目中需要实现QQ第三方登录,经过一番努力算是写出来了,现在总结以下,以防以后遗忘,能帮到其他童鞋就更好了. 首先肯定是去下载SDK和DEMO http://wiki.open.qq.com/wiki/mobile/SDK下载 本文是我自己整合后的简单DEMO. 先看下效果图吧 小码哥Html5教程,免费随你看 [点击进入] 24小时阅读30000+,48小时视频下载50000+ H5,JS,CSS,0基础学完独立开发网站/APP! 查 看 小码哥Html5教程,免费随你看 [点击进入] 24

xml(可扩展标记语言)

XML 数据存储 1.XML 语法特点 1 严格区分大小写2 有且只有一个根节点3 有开始和结束标签4 属性必须使用'"'5 没有预定义标签,与html不一样6 文档声明: <?xml verslon="1.0" encoding="utf-8"?>    //verslon="1.0" 版本7 注释:<!-->8 CDATA:即原意文本-<![CDATA[...]]>9 注意编码问题,文本文件实际编

springmvc拦截器实现用户登录权限验证

实现用户登录权限验证 先看一下我的项目的目录,我是在intellij idea 上开发的 1.先创建一个User类 1 package cn.lzc.po; 2 3 public class User { 4 private Integer id;//id 5 private String username;//用户名 6 private String password;//密码 7 8 public Integer getId() { 9 return id; 10 } 11 12 publi

php使用curl模拟登录带验证码的网站

需求是这样的,需要登录带验证码的网站,获取数据,但是不可能人为一直去记录数据,想通过自动采集的方式进行,如下是试验出来的结果代码!有需要的可以参考下! <?php namespace Home\Controller; use Think\Controller; class LoginController extends Controller { protected $cookieName = array('cookie_verify', 'cookie_verify'); protected $

C# 三层架构之系统的登录验证与添加数据的实现

利用三层架构体系,实现学生管理系统中用户的登录与添加班级信息的功能,一下代码为具体实现步骤的拆分过程: 一.用户登录界面功能的实现 1.在数据访问层(LoginDAL)进行对数据库中数据的访问操作 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 //引入命名空间 7 using System

javaweb学习总结十一(JAX对XML文档进行DOM解析)

一:将内存中写好的xml文件读取到硬盘上 二:DOM方式对xml文件进行增删改查 1:添加节点(默认是在最后的子节点后面添加) 1 @Test 2 // 向元素中添加节点<version>1.0</version> 3 public void test5() throws Exception { 4 Document doc = getDoc(); 5 Node node = doc.getElementsByTagName("book").item(0); 6

Delphi操作XML - 冰雪傲骨

Delphi操作XMl,只要使用 NativeXml.我是用的版本是4.02.NativeXML的使用方法比较简单,但是功能很强大. XE2的话,要在simdesign.inc后面加上: // Delphi XE2 / 16 {$ifdef VER230} {$define D7UP} {$define D10UP} {$define D15UP} {$endif} 一.使用 1) Copy the NativeXml files from the NativeXml directory int