• 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跳出循环。

  • 相关阅读:
    uni.navigateTo 无法跳转到页面
    微信小程序 navigateTo 只能使用几次 无效后 怎么处理的?
    Vue中computed和watch的区别
    vue 动态添加样式的方式
    浏览器数据库IndexedDB介绍
    Gitlab CI/CD 之 Gitlab Runner Docker Executor 缓存问题
    Gitlab CI/CD 之 Gitlab-Runner
    .neter 的 java 学习之路
    Gitlab 迁移后 runner 访问报错的问题
    .neter 的 java 学习之路
  • 原文地址:https://www.cnblogs.com/aaronhoo/p/2518073.html
Copyright © 2020-2023  润新知