2012-09-21 17 views
0

我在C#Windows窗體.Net 2.0中創建一個簡單的登錄窗體,並且我想將登錄名或密碼保存到Xml文件,以便一旦我提交用戶名或密碼,我不會不必在「文本框」中再次輸入相同的用戶名或密碼,而應該在我之前提供的「文本框」中顯示用戶名或密碼,就像我們保存用戶名或密碼爲「Gmail,雅虎,臉書等等「。並以「登錄」形式向我們顯示我們保存的用戶名或密碼,因此我們不必再次輸入用戶名或密碼。如何保存登錄enry到一個XML文件

回答

1

更簡單的方法,只需使用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; 
} 

如果要保存用戶集合,只需對集合類型(例如, List<User>.這會將所有用戶保存在xml中,並且一次將所有用戶全部檢索到List<User>

+0

我想要的是(點擊查看這些鏈接): - http://i49.tinypic.com/rkuats.jpg和http://i46.tinypic.com/21edys1.jpg –

+0

對不起,屏幕截圖沒有解釋你想要什麼。你是指自動完成?這完全是一個不同的問題。您的原始問題基於用戶/密碼數據保存。 – loopedcode

+0

對不起,我不知道有關自動完成,但我想要的是在屏幕拍攝你有這個解決方案 –

0

讀取用戶ID &密碼從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; 

要重新保存用戶名&密碼到XML文件:

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"); 
+0

我想要的是(點擊查看這些鏈接): - http:/ /i49.tinypic.com/rkuats.jpg和http://i46.tinypic.com/21edys1.jpg –