zoukankan      html  css  js  c++  java
  • C#读取xml

    1.

    Asp.net使用login控件(系统提供的登录控件,而不是用户自己定义的控件)的时候为控件上的按钮添加事件是Login_Authenticate()。

    2.

    关于XML的读取和遍历

    XmlDocument doc = new XmlDocument();//使用XmlDocument类操作XML文档。

                doc.Load("D:/login.xml");//加载文档

                XmlNode nodeRoot = doc.DocumentElement;//获取根节点

                Console.WriteLine(nodeRoot.Name);//输出节点名

    Console.Write("Please Enter Your Name:");//以下是模拟用户登录,用XML内的数据进行比较

                string unameGet = Console.ReadLine();

                Console.Write("Please Enter Your Password:");

                string pwdGet = Console.ReadLine();

                XmlNode nodeUser = nodeRoot.FirstChild;//获取第一个子节点

                while (nodeUser != null)

                {

                    string uname = nodeUser.SelectSingleNode("uname").InnerText;//注意:asp.net用InnerText表示节点的值,而不是用Value;

                    string pwd = nodeUser.SelectSingleNode("pwd").InnerText;//SelectSingNode()方法获取当前节点的一个子节点。

                    if (uname.Equals(unameGet) && pwd.Equals(pwdGet))

                    {

                        Console.WriteLine(unameGet + ",You Have Logged In Successfully");

                        break;

                    }

                    else

                    {

                        nodeUser = nodeUser.NextSibling;//获取下一个兄弟节点

                    }

                } 

                if(nodeUser == null)

                    Console.WriteLine(unameGet + ",You Failed to Log In ");

    以下是login.xml:

    <?xml version="1.0" encoding="utf-8" ?>

    <root>

        <user>

            <uid>1</uid>

            <uname>jack</uname>

            <pwd>jack</pwd>

        </user>

        <user>

            <uid>2</uid>

            <uname>peter</uname>

            <pwd>peter</pwd>

        </user>

        <user>

            <uid>3</uid>

            <uname>luke</uname>

            <pwd>luke</pwd>

        </user>

        <user>

            <uid>4</uid>

            <uname>ok</uname>

            <pwd>ok</pwd>

        </user>

        <user>

            <uid>5</uid>

            <uname>lame</uname>

            <pwd>lame</pwd>

        </user>

    </root>

    用Foreach语句实现上述功能的简便方法:

         foreach (XmlNode item in doc.GetElementsByTagName("uname"))//按标签名获取节点的集合

                {   XmlNode nodePwd=uname.NextSibling;

                    if (item.InnerText == unameGet&&nodePwd.InnerText==pwdGet)

                    {

                        Console.WriteLine(unameGet + ",You Have Logged In Successfully");

                        break;//跳出循环

                    }

                }

    以上代码同时证明,foreach除了可以遍历每一个元素,也可以使用break跳出循环。

  • 相关阅读:
    KDD 2018 | 最佳论文:首个面向Facebook、arXiv网络图类的对抗攻击研究
    Distill详述「可微图像参数化」:神经网络可视化和风格迁移利器!
    T1330 最少步数(#Ⅱ- 8)(广度优先搜索)
    细胞个数题解(广度优先搜索)
    DRL前沿之:Benchmarking Deep Reinforcement Learning for Continuous Control
    DRL 教程 | 如何保持运动小车上的旗杆屹立不倒?TensorFlow利用A3C算法训练智能体玩CartPole游戏
    强化学习是如何解决问题的?
    深度强化学习泡沫及路在何方?
    ECCV 2018 | UBC&腾讯AI Lab提出首个模块化GAN架构,搞定任意图像PS组合
    纵览神经架构搜索方法
  • 原文地址:https://www.cnblogs.com/aaronhoo/p/2518073.html
Copyright © 2011-2022 走看看