にロードするので、登録フォームでログインアプリケーションを作成していますが、何か助けが必要です。データを保存してxml
XMLクラス:
私は私がXMLの利用savefiledialogに1人のユーザーを保存およびロードすることができ、フォームを作成しました、私はちょっと行うことができ、XML内のすべてのアカウント情報を保存したい、ここでのコードですusing System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using System.Xml.Serialization;
namespace Login_Form
{
public class xmlSave
{
public static void SaveData(object IClass, string filename)
{
StreamWriter writer = null;
try
{
XmlSerializer xml = new XmlSerializer((IClass.GetType()));
writer = new StreamWriter(filename);
xml.Serialize(writer, IClass);
}
finally
{
if (writer != null)
writer.Close();
writer = null;
}
}
}
public class xmlLoad<T>
{
public static Type type;
public xmlLoad()
{
type = typeof(T);
}
public T LoadData(string filename)
{
T result;
XmlSerializer xml = new XmlSerializer(type);
FileStream fs = new FileStream(filename, FileMode.Open, FileAccess.Read, FileShare.Read);
result = (T)xml.Deserialize(fs);
fs.Close();
return result;
}
}
}
、ここでセーブとロードコードです:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
using System.Xml.Serialization;
namespace Login_Form
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
saveFileDialog.InitialDirectory = @"C:\Users\Felix\Documents\visual studio 2013\Projects\Login Form\Login Form\bin\Debug";
saveFileDialog.Filter = "xml Files (*.xml)|*.xml";
saveFileDialog.FilterIndex = 2;
saveFileDialog.RestoreDirectory = true;
if(saveFileDialog.ShowDialog() == DialogResult.OK)
{
User user = new User();
user.FName = textBox1.Text;
user.LName = textBox2.Text;
user.Username = textBox3.Text;
user.Email = textBox4.Text;
user.Password = textBox5.Text;
xmlSave.SaveData(user, saveFileDialog.FileName);
}
}
private void Form1_Load(object sender, EventArgs e)
{
User user = new User();
xmlLoad<User> loadUser = new xmlLoad<User>();
user = loadUser.LoadData("test.xml");
textBox1.Text = user.FName;
textBox2.Text = user.LName;
textBox3.Text = user.Username;
textBox4.Text = user.Email;
textBox5.Text = user.Password;
}
}
public class User
{
private string fName;
private string lName;
private string username;
private string email;
private string password;
public string FName
{
get { return fName; }
set { fName = value; }
}
public string LName
{
get { return lName; }
set { lName = value; }
}
public string Username
{
get { return username; }
set { username = value; }
}
public string Email
{
get { return email; }
set { email = value; }
}
public string Password
{
get { return password; }
set { password = value; }
}
}
}
また、これは、私はxmlファイルのみが1ユーザーに5つのテキストボックスから情報を保存することができます私は、複数のユーザーを保存する方法を知りたいとこれをログインシステムとして使用する方法(サーバーはなく、現時点ではローカルのみ)と、適切な情報をロードする方法私のメインアプリケーションは、例えば、ユーザー1にログインしていれば、そのユーザーの情報を他のユーザーと同じにしたいと思っています。私がひどく説明していれば、すみません。
あなたが1つのXMLファイル内のすべてのデータが必要な場合、あなたはそれが簡単のDataTableの行に各ユーザーを置くことを見つけて、XMLファイルを読み書きすることを使用することができます:https://msdn.microsoft.com/en-us/library/78x6533x(v=vs.110).aspx –
投稿コードに関する[MCVE]ガイダンスをお読みください。 1つまたは2つが問題を示すときには、多数のプロパティ/テキストボックス/何であれサンプルを持つ必要は全くありません。また、コンパクトであるため、サンプルコードで自動プロパティー( 'public string Name {get; set}')を使用してください(何らかの理由でフルバージョンのプロパティーが必要なコーディング標準については気にしません)。 –