Entwickler-Ecke
IO, XML und Registry - Vokabeltrainer mit XML
Marmelade - Di 12.01.10 17:12
Titel: Vokabeltrainer mit XML
Moin
Ich wollte mal einen Vokabeltrainer schreiben. Das Problem war nur, dass ich nicht wusste wie ich die Vokabeln abspeichern soll. Hab mich dann mal umgeguckt und bin zu dem Entschluss gekommen, dass XML ne gute Lösung für das Problem wär.
Jetzt habe ich nur noch nie mit XML gearbeitet :(
Gibts da einfache Tut's zu oder kann mir das einer erklären? Gesucht habe ich schon, aber nicht gefunden was ich brauche.
MfG Marmelade
danielf - Di 12.01.10 18:04
Hallo,
XML ist bestimmt gut geeignet für dein Vorhaben. Tutorials finde ich wie Sand am Meer?? Was ist den da dein Problem?
Gruß Daniel
Marmelade - Di 12.01.10 18:20
Hi
Gut dann bin ich da schon mal auf der sicheren Seite :)
Ich habe schon im Galileo OpenBook nachgeschaut, dort stand nur, dass XML unterstützt wird, sonst eigentlich nichts brauchbares.
Ahh doch grade was bei TSQL gefunden. Hoffe mal das ich damit klar komme.
Sry das ich nicht ordentlich gesucht habe.
MfG Marmelade
Marmelade - Do 14.01.10 19:41
Okay begriffen habe ich XML jetzt einigermaßen. Ich habe nur noch ein problem beim abspeichern der Vokabeln.
Meine XML-Datei sieht so aus :
XML-Daten
1:
| <?xml version="1.0" encoding="utf-8"?><Vokabeln><v1><known>Hallo</known><unknown>Hello</unknown></v1><Config>2</Config></Vokabeln> |
Immer wenn ich jetzt die Anzahl der bisher eingegebenen VOkabeln auslesen will bekomme ich folgendes:
Das Element 'Config' wurde nicht gefunden. Zeile 1, Position 50.
Dabei steht doch Config da drinne?
Mein Code sieht so aus:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55:
| private void SaveVOK() { string anz = GetVoks().ToString(); MessageBox.Show(anz); int intanz; int.TryParse(anz, out intanz); intanz++; string anz2 = intanz.ToString(); XmlWriter writer = XmlWriter.Create(Application.StartupPath + "\\Vokabeln.xml"); writer.WriteStartDocument();
writer.WriteStartElement("Vokabeln");
writer.WriteStartElement("v"+anz);
writer.WriteStartElement("known"); writer.WriteString(textBox1.Text); writer.WriteEndElement();
writer.WriteStartElement("unknown"); writer.WriteString(textBox2.Text); writer.WriteEndElement();
writer.WriteEndElement();
writer.WriteStartElement("Config"); writer.WriteString(anz2); writer.WriteEndElement(); writer.WriteEndElement(); writer.WriteEndDocument(); writer.Close();
MessageBox.Show("gespeichert"); }
private string GetVoks() { XmlReader reader = XmlReader.Create(Application.StartupPath + "\\Vokabeln.xml");
reader.ReadStartElement("Vokabeln");
reader.ReadStartElement("Config"); string anz = reader.ReadString(); reader.ReadEndElement(); reader.ReadEndElement();
reader.Close();
string anz2 = anz.Substring(1); return anz2;
} |
Was mache ich falsch?
MfG Marmelade
danielf - Do 14.01.10 19:53
Gute Frage :o Mit dem XmlReader kenne ich mich nicht so aus. Ich vermute du musst noch die anderen Elemente in der Reihenfolge auslesen.
Warum nimmst du nicht XmlDocument?
Damit ist es wohl viel einfacher und ich könnte dir helfen ;)
Christoph1972 - Do 14.01.10 20:34
Hi,
schau dir mal die Methoden WriteXml und ReadXml der DataTable an, bzw. des DataSet. Einfacher geht es nicht :wink:
Marmelade - Do 14.01.10 20:41
danielf hat folgendes geschrieben : |
Warum nimmst du nicht XmlDocument?
Damit ist es wohl viel einfacher und ich könnte dir helfen ;) |
Wenn du mir das mit XmlDocument erklärst, ich habd as nämlich damit nicht so richtig verstanden.
MfG Marmelade
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!