Zapisywanie danych do pliku XML

0

Próbuję zapisać dane z formularza do pliku XML:

            XmlWriterSettings settings = new XmlWriterSettings();
            settings.Indent = true;

            XmlWriter writer = XmlWriter.Create("opcje.xml", settings);
            writer.WriteStartDocument();
            writer.WriteStartElement("konfiguracja");
            writer.WriteElementString("uzytkownik", uzytkownik1.Text);
            writer.WriteElementString("haslo", haslo1.Text);
            writer.WriteElementString("uzytkownik", uzytkownik2.Text);
            writer.WriteElementString("haslo", haslo2.Text);
            writer.WriteElementString("uzytkownik", uzytkownik3.Text);
            writer.WriteElementString("haslo", haslo3.Text);
            writer.WriteEndElement();
            writer.WriteEndDocument();

            writer.Flush();
            writer.Close();

Mam następujące pytanie: w jaki sposób mam zrobić zapisanie każdego użytkownika i jego hasła do innego klucza.

    <dane>
        <uzytkownik>uzytkownik1</uzytkownik>
        <haslo>haslo1</haslo>
    </dane>
    <dane>
        <uzytkownik>uzytkownik2</uzytkownik>
        <haslo>haslo2</haslo>
    </dane>
    <dane>
        <uzytkownik>uzytkownik3</uzytkownik>
        <haslo>haslo3</haslo>
    </dane>
</konfiguracja>
1
using System.Collections.Generic;
using System.IO;
using System.Xml.Serialization;

public class Login
{
    [XmlElement("uzytkownik")]
    public string user;
    [XmlElement("haslo")]
    public string pass;

    public Login(string auser, string apass)
    {
        user = auser;
        pass = apass;
    }
    public Login() { }
}

[XmlRoot("konfiguracja")]
public class Config
{
    [XmlElement("dane")]
    public List<Login> logins = new List<Login>();
}

class Program
{    
    static void Main(string[] args)
    {
        Config config = new Config();
        config.logins.Add(new Login("apache", "123"));
        config.logins.Add(new Login("mastah", "7^jf%Fjk3d*ę"));

        // ...

        var serializer = new XmlSerializer(typeof(Config));
        var xmlnsEmpty = new XmlSerializerNamespaces();
        xmlnsEmpty.Add("", "");
        using (var sw = new StreamWriter("opcje.xml"))
        {
            serializer.Serialize(sw, config, xmlnsEmpty);
        }
    }
}
0
	const string dataTagName = "data", loginTagName = "login", passwordTagName = "password";

	var xml = new XElement(
		"configuration",
		// to powinno być zamknięte w pętlę
		new XElement(dataTagName, new XElement(loginTagName, "login1"), new XElement(passwordTagName, "pass1")),
		new XElement(dataTagName, new XElement(loginTagName, "login2"), new XElement(passwordTagName, "pass2")),
		new XElement(dataTagName, new XElement(loginTagName, "login3"), new XElement(passwordTagName, "pass3"))
	);

	xml.Save("configuration.xml");

1 użytkowników online, w tym zalogowanych: 0, gości: 1