更新通用列表并获取c#中的Xml [英] Update Generic List and get the Xml in c#

查看:62
本文介绍了更新通用列表并获取c#中的Xml的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

亲爱的所有人,

感谢大家阅读问题,非常感谢帮助。



我想更新所有密码列表中用户名的基础以及何时将通用列表转换为XML格式,因为所有密码也应该在数据库中更新。

请检查以下代码。



Dear All,
Thank you all to read question and help is highly appreciated.

I want to update the all password on the basis of username in the list and when it will done convert generic list into XML below format because all the password should be update in the database also.
Please check below code.

<Root>
    <A>
    <UserName>12164<UserName>
    <Password>40be4e59b9a2a2b5dffb918c0e86b3d7</Password>
    </A>
</Root>







public List<UserNamePassword> DecryptAllPasswordwithOldKey()
    {

        string strcon = conn.checkServer();
        SqlConnection con = new SqlConnection(strcon);
        con.Open();
        SqlCommand cmd = new SqlCommand("SELECT DISTINCT EmpCode,UserName,[Password] FROM Users", con);
        SqlDataAdapter Adap = new SqlDataAdapter(cmd);
        DataTable dt = new DataTable();
        Adap.Fill(dt);

        List<UserNamePassword> objectList = new List<UserNamePassword>();

        foreach (DataRow dr in dt.Rows)
        {
            UserNamePassword Objnew = new UserNamePassword();

            Objnew.UserName = Convert.ToString(dr["UserName"]);  // Beware of the possible conversion errors due to type mismatches
            //Objnew.Password = Convert.ToString(dr["Password"]);
            Objnew.Password = Decrypt_AES(Convert.ToString(dr["Password"]));

            objectList.Add(Objnew);
        }

        return objectList;

    }

  public void GenerateKey()
    {

        List<UserNamePassword> ListLogin = new List<UserNamePassword>();
        //List<UserNamePassword> ListLogin1 = new List<UserNamePassword>();

        ListLogin = DecryptAllPasswordwithOldKey();

        //ListLogin1 = ListLogin;
        for (int i = 0; i < ListLogin.Count; i++)

        {

            string UserName = ListLogin[i].UserName.ToString();

            string Newpassword = Encrypt_AES(ListLogin[i].Password.ToString());



            ListLogin.Where(d => d.UserName == UserName).First().Password = Newpassword;


        }
    }

推荐答案

有很多方法可以实现这个目的,但我找到的最简单的方法是给出DataSet和DataTabel的正确名称,并使用DataSet的GetXML()函数



以下代码片段可以提供帮助;



There are many ways you could achive this, but the simplest way I found is just give a proper name of the DataSet and DataTabel and use GetXML() function of DataSet

Following code snippet could help;

DataSet ds = new DataSet();
DataTable dt = new DataTable();
dt.Columns.Add("UserName",typeof(string));
dt.Columns.Add("Password", typeof(string));

DataRow dr=dt.NewRow();
dr["UserName"]="ram";
dr["Password"]="pass001";

dt.Rows.Add(dr);

dr=dt.NewRow();
dr["UserName"]="Shaym";
dr["Password"]="pass002";

dt.Rows.Add(dr);

ds.Tables.Add(dt);
ds.DataSetName="Root";
dt.TableName="A";




代码输出如下;





Output of the code is as below;

<Root>
  <A>
    <UserName>ram</UserName>
    <Password>pass001</Password>
  </A>
  <A>
    <UserName>Shaym</UserName>
    <Password>pass002</Password>
  </A>
</Root>







希望它能解决您的目的。




Hope it solves your purpose.


这篇关于更新通用列表并获取c#中的Xml的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆