gEexTaH
Lt. Commander
- Registriert
- Sep. 2003
- Beiträge
- 1.100
Daten einer Combobox speichern und lesen
Hallo zusammen,
ich sitze im Moment an einem kleinen Problem und weiß noch nicht so ganz, wie ich es lösen soll. Eigentlich ist es ganz einfach, ich möchte Daten die ich in einer Combobox eingebe speichern, sodass sie nach dem beenden gespeichert und nach dem erneuten starten wieder geladen werden.
Ich habe versucht das ganze mit einer XML-Datei zu realisieren, doch leider funktioniert es nicht wirklich. Die Daten der XML-Datei werden zwar gelesen, doch wird nichts geschrieben.
Später müsste ich aus der XML-Datei auch noch Einträge gezielt auslesen, nicht alle auf einmal. Wie muss ich die Abfrage dort genau gestalten?
Code-Snippet
XML-File
In der XML File würde ich die Daten gerne so speichern, dass sie dann wie folgt aussehen: "Name - URL" > "1Live - http://www.wdr.de/wdrlive/media/einslive-wm32.asx"
Ich hoffe ihr habt einen Rat für mich, wo der Fehler liegt und vor allem, wie ich ein bisschen weiter komme.
Schon mal danke für eure Hilfe :-)
Hallo zusammen,
ich sitze im Moment an einem kleinen Problem und weiß noch nicht so ganz, wie ich es lösen soll. Eigentlich ist es ganz einfach, ich möchte Daten die ich in einer Combobox eingebe speichern, sodass sie nach dem beenden gespeichert und nach dem erneuten starten wieder geladen werden.
Ich habe versucht das ganze mit einer XML-Datei zu realisieren, doch leider funktioniert es nicht wirklich. Die Daten der XML-Datei werden zwar gelesen, doch wird nichts geschrieben.
Später müsste ich aus der XML-Datei auch noch Einträge gezielt auslesen, nicht alle auf einmal. Wie muss ich die Abfrage dort genau gestalten?
Code-Snippet
Code:
private void Form1_Load(object sender, EventArgs e)
{
XmlTextReader xtr = null;
string fileName = "stream.xml";
try
{
xtr = new XmlTextReader(fileName);
xtr.WhitespaceHandling = WhitespaceHandling.None;
while (xtr.Read())
{
switch (xtr.NodeType)
{
case XmlNodeType.Text:
this.cboURL.Items.Add(xtr.Value);
break;
}
}
this.cboURL.SelectedIndex = 0;
}
finally
{
if (xtr != null)
xtr.Close();
}
}
private void Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
XmlTextWriter xtw = null;
string fileName = "stream.xml";
try
{
xtw = new XmlTextWriter(fileName, Encoding.UTF8);
xtw.Formatting = Formatting.Indented;
xtw.WriteStartDocument();
xtw.WriteStartElement("streams/stream");
for (int i = 0; i < this.cboURL.Items.Count; i++)
{
xtw.WriteElementString("streams/stream", (string)this.cboURL.Items[i]);
}
xtw.WriteEndElement();
xtw.WriteEndDocument();
}
finally
{
if (xtw != null)
xtw.Close();
}
}
private void btnstart_Click(object sender, EventArgs e)
{
string NewItem = this.cboURL.Text;
if (NewItem == "")
return;
if (this.cboURL.FindStringExact(NewItem) > 0)
{
MessageBox.Show(NewItem + "existiert bereits in der Liste und wird nicht hinzugefügt.");
return;
}
this.cboURL.Items.Add(NewItem);
}
Code:
<?xml version="1.0" encoding="utf-8" ?>
<streams>
<stream>1Live</stream>
</streams>
Ich hoffe ihr habt einen Rat für mich, wo der Fehler liegt und vor allem, wie ich ein bisschen weiter komme.
Schon mal danke für eure Hilfe :-)
Zuletzt bearbeitet:
(Titel etwas erweitert, da ich ja nicht nur speichern, sondern auch lesen möchte.)