Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将登录名保存到XML文件_C#_.net_Xml_Io - Fatal编程技术网

C# 如何将登录名保存到XML文件

C# 如何将登录名保存到XML文件,c#,.net,xml,io,C#,.net,Xml,Io,我正在C#Windows form.Net 2.0中创建一个简单的登录表单,我想将登录名或密码保存到Xml文件中,以便在提交用户名或密码后,我不必再次将相同的用户名或密码放在“文本框”中,而应该在我以前提交的“文本框”中显示用户名或密码,就像我们为“gmail、yahoo、facebook等”保存用户名或密码一样,它以“登录”的形式向我们显示保存的用户名或密码,这样我们就不必再次输入用户名或密码。更简单的方法是,只需使用XmlSerializer进行加载/卸载 public class User

我正在C#Windows form.Net 2.0中创建一个简单的登录表单,我想将登录名或密码保存到Xml文件中,以便在提交用户名或密码后,我不必再次将相同的用户名或密码放在“文本框”中,而应该在我以前提交的“文本框”中显示用户名或密码,就像我们为“gmail、yahoo、facebook等”保存用户名或密码一样,它以“登录”的形式向我们显示保存的用户名或密码,这样我们就不必再次输入用户名或密码。

更简单的方法是,只需使用XmlSerializer进行加载/卸载

public class User
{
    public string UserName { get; set; }
    public string Password { get; set; }
}

public void SaveUser(User user)
{
    var ser = new XmlSerializer(typeof(User));
    using(var file = File.OpenWrite(@"c:\myfilepath\user.xml")) 
    {
        ser.Serialize(file, user);
    }
}

public User GetUser(string xmlFile)
{
    var ser = new XmlSerializer(typeof(User));
    User user;
    using (var file = File.OpenRead(xmlFile))
    {
        user = (User)ser.Deserialize(file);
    }
    return user;
}

如果要保存用户集合,只需对集合类型进行序列化,例如,
列表。
将以xml格式保存所有用户,并同时将所有用户检索到
列表中。

从xml文件读取用户ID和密码:

XmlDocument doc = new XmlDocument();
        doc.Load(@"c:\test\user.xml");
        XmlNode nodeUserId = doc.SelectSingleNode("/user/UserID");
        XmlNode nodePassword = doc.SelectSingleNode("/user/Password");

        textBox1.Text = nodeUserId.InnerText;
        textBox2.Text = nodePassword.InnerText;
XmlDocument doc = new XmlDocument();
        doc.Load(@"c:\test\user.xml");
        XmlNode nodeUserId = doc.SelectSingleNode("/user/UserID");
        XmlNode nodePassword = doc.SelectSingleNode("/user/Password");

        nodeUserId.InnerText = textBox1.Text;
        nodePassword.InnerText = textBox2.Text;

        doc.Save(@"c:\test\user.xml");
要将用户名和密码保存回Xml文件,请执行以下操作:

XmlDocument doc = new XmlDocument();
        doc.Load(@"c:\test\user.xml");
        XmlNode nodeUserId = doc.SelectSingleNode("/user/UserID");
        XmlNode nodePassword = doc.SelectSingleNode("/user/Password");

        textBox1.Text = nodeUserId.InnerText;
        textBox2.Text = nodePassword.InnerText;
XmlDocument doc = new XmlDocument();
        doc.Load(@"c:\test\user.xml");
        XmlNode nodeUserId = doc.SelectSingleNode("/user/UserID");
        XmlNode nodePassword = doc.SelectSingleNode("/user/Password");

        nodeUserId.InnerText = textBox1.Text;
        nodePassword.InnerText = textBox2.Text;

        doc.Save(@"c:\test\user.xml");

您可以参考以下文章,其中解释了如何为文本框创建自动完成扩展程序:


我想要的是(单击这些链接查看):-我想要的是(单击这些链接查看):-抱歉,屏幕截图没有解释您想要什么。你指的是自动完成吗?这是一个完全不同的问题。您最初的问题是基于用户/密码数据保存。对不起,我不知道自动完成,但我想要的是在屏幕截图中,您有解决方案吗?我不理解屏幕截图中的问题。所有这些都是用户名和密码的文本框。我不明白你在问什么。我不认为你会从截图中得到答案,你必须详细说明你的问题。我想实现的是:-想象你在gmail有2个或更多的帐户。当您插入用户名或密码并登录时,它会要求保存用户名或密码,如果您保存用户名或密码,您不必每次都输入用户名或密码,因为它会在登录文本框中显示您的用户名或密码,就像我在屏幕截图中提供的那样。这正是我想做的我的登录应用程序,一旦我提交它应该显示用户名或密码,当我点击用户名它自动完成用户名或密码