为了账号安全,请及时绑定邮箱和手机立即绑定

.NET中读取xml文件中数据

.NET中读取xml文件中数据

HUX布斯 2019-03-27 18:17:24
<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet type="text/css" href="aaa.css"?><zhanghaos><zhanghao><id>zyw</id><password>123</password><xingbie>男</xingbie><age>12</age></zhanghao><zhanghao><id>asd</id><password>321</password><xingbie>女</xingbie><age>21</age></zhanghao></zhanghaos>代码是这样。现在我想写一个登陆界面,需要读取数据然后与输入对比id和password,怎么弄?
查看完整描述

2 回答

?
互换的青春

TA贡献1797条经验 获得超6个赞

1)修改一下XML文件,去掉<?xml-stylesheet ……/>

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

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

<zhanghaos>

  <zhanghao>

    <id>zyw</id>

    <password>123</password>

    <xingbie>男</xingbie>

    <age>12</age>

  </zhanghao>

  <zhanghao>

    <id>asd</id>

    <password>321</password>

    <xingbie>女</xingbie>

    <age>21</age>

  </zhanghao>

</zhanghaos>

2)在程序中,读取XML (假设XML文件名为acc.xml)

1

2

3

4

using System.Data;

……

DataSet ds = new DataSet();

ds.ReadXml("acc.xml");

3)当用户输入的用户userId和口令userPwd后,在ds中查找并验证

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

DataRow[] drs =   ds.Tables[0].Select("id='" + userId + "'");

if(drs.Length== 0)

{

    //XML文件中没有用户输入的userId

}

else

{

    DataRow r   = drs[0];

    //检查口令是否匹配

    if(   r["password"] == userPwd)

    {

          //口令正确

    }

    else

    {

          //口令错误

    }

}

4)其他操作:给定id,取出年龄、性别

1

2

3

4

5

6

7

DataRow[] drs = ds.Tables[0].Select("id='" + id + "'");

if(drs.Length== 0) return;

DataRow r = drs[0];

//性别

string gendar = r["xingbie"].ToString();

//年龄

int age = nt.Parse(r["age"].ToString());


 


查看完整回答
反对 回复 2019-03-30
?
长风秋雁

TA贡献1757条经验 获得超7个赞

解析xml还是比较简单的,遍历XmlDocument.DocumentElement.ChildNodes,每个XmlElement都有SelectSingleNode方法,通过该方法可以获取InnerText,比如element.SelectSingleNode("password").InnerText,然后用这个值和输入进行判断。具体请查找XmlDocument类。

查看完整回答
反对 回复 2019-03-30
  • 2 回答
  • 0 关注
  • 1543 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信