E
encom
Hallo, ich einen Button über den ich per Opendialog eine xml Datei öffnen und deren Inhalt in eine ListBox laden kann.
Außerdem habe ich eine funktion, mit der ich neue Einträge in die Xml Datei einfügen kann.
Ich bin anfänger und komme nicht drauf wie ich die Funktion über einen Button aufrufen kann. Probmele mit dem doc als Parameter :-(
Ich hoffe einer kann helfen
Danke
Außerdem habe ich eine funktion, mit der ich neue Einträge in die Xml Datei einfügen kann.
Ich bin anfänger und komme nicht drauf wie ich die Funktion über einen Button aufrufen kann. Probmele mit dem doc als Parameter :-(
Code:
private void btnLoad_Click(object sender, System.EventArgs e)
{
OpenFileDialog dlgOpen = new OpenFileDialog();
dlgOpen.Filter = "XML-Dateien|*.xml";
if (DialogResult.OK == dlgOpen.ShowDialog())
{
//ListBox leeren
lbElements.Items.Clear();
//Datei laden und anzeigen
XmlDocument doc = new XmlDocument();
doc.Load(dlgOpen.FileName);
this.Text = dlgOpen.FileName;
ShowDoc(doc, lbElements);
}
}
private void ShowDoc(XmlDocument doc, ListBox box)
{
XmlNodeList list = doc.GetElementsByTagName("title");
foreach(XmlElement node in list)
{
lbElements.Items.Add(node.InnerXml);
}
}
//fügt ein neues buch zum dokument hinzu
private void NeuesBuch(XmlDocument doc)
{
//einen neuen Knoten anlegen
XmlElement element = doc.CreateElement("book");
//jetzt das neue Buch im Dokument eintragen
doc.DocumentElement.AppendChild(element);
//die Knoten title, author und price anlegen
XmlElement title = doc.CreateElement("title");
title.InnerText = edTitle.Text;
XmlElement author = doc.CreateElement("author");
author.InnerText = edAuthor.Text;
XmlElement price = doc.CreateElement("price");
price.InnerText = edPrice.Text;
//ein Attribut zu Demozwecken
price.SetAttribute("currency", "EUR");
//jetzt unter dem neuen Knoten einhängen
element.AppendChild(title);
element.AppendChild(author);
element.AppendChild(price);
doc.Save(this.Text);
//MessageBox.Show(doc.OuterXml);
}
private void btnInsert_Click(object sender, System.EventArgs e)
{
//NeuesBuch(doc);
}
Ich hoffe einer kann helfen
Danke