Das CatalogDoc ist nun mit einem root-Element versehen, so dass der Anwender ein neues Buch durch Klicken auf den ‚New Book‘-Button hinzufügen kann. Werfen Sie einen Blick auf die Subroutinen cmdNew_Click und BuildNewBookNodes in Listing B, um zu sehen, wie dies funktioniert.
Ich erzeuge zuerst ein neues book-Element mithilfe von CatalogDoc.createElement und hänge es an das root-Element catalog an (auf das ich mit der Eigenschaft documentElement zugreife). Als nächstes erzeuge ich einen neuen IXMLDOMAttribute-Knoten für das ID-Attribut des Buches, das der Benutzer gerade hinzufügt. In diesem Fall zähle ich einfach die vorhandenen Bücher im Dokument (einschließlich des neuen Buch-Elements, das gerade hinzugefügt wurde) und hänge diese Nummer an den Text „bk“ an. Ein Aufruf von BuildNewBookNodes fügt leere Elemente für Titel (title), Autor (author), Preis (price), Erscheinungsdatum (publish_date), Genre (genre) und Inhaltsangabe (description) hinzu, so dass das XML-Dokument nun wie folgt aussieht:
<?xml version="1.0"?> <catalog> <book id="bk1"> <author></author> <title></title> <genre></genre> <price></price> <publish_date></publish_date> <description></description> </book> </catalog>
Das neu erstellte book-Element wird mithilfe einer öffentlichen Variablen an Formular Form2 übergeben, und das Formular zur Bearbeitung des Eintrags wird angezeigt (Abbildung B). Wenn der Benutzer mit dem Eingeben von Informationen zu dem neuen Buch fertig ist und auf OK klickt, füge ich die Daten aus dem Formular in die entsprechenden Unterelemente von book ein, indem ich dessen Kind-Knoten der Reihe nach durchgehe. Sehen Sie sich in Listing C den Event-Handler cmdOK_Click an, der dafür zuständig ist.
Schließlich erhalten wir ein XML-Dokument, das wie folgt aussieht (auch hier gilt: überprüfen Sie das anhand von CatalogDoc.xml):
<?xml version="1.0"?> <catalog> <book id="bk1"> <author>Lamont Adams</author> <title>Lamont's First Book</title> <genre>Fantasy</genre> <price>10.00</price> <publish_date>2005-11-05</publish_date> <description>It's fantasy until I actually write it</description> </book> </catalog>
Wir haben erfolgreich ein neues DOM-Dokument erstellt und ein paar Daten mithilfe des BookEditor-Programms hinzugefügt. Dabei sind wir natürlich immer noch an der Oberfläche geblieben, denn es gibt noch viel zu tun: Der BookEditor sollte den Benutzern erlauben, XML-Dateien zu öffnen und zu speichern sowie ein Dokument im Speicher gegen ein Schema zu validieren. Dies alles – und noch ein bisschen mehr – wird in einem folgenden Artikel behandelt.
Betroffen sind Chrome für Windows, macOS und Linux. Das von den Anfälligkeiten ausgehende Risiko stuft…
Der Gerichtshof der Europäischen Union entscheidet „endgültig“ über den Rechtsstreit. Dem Urteil zufolge sind von…
Sie betrifft ältere Versionen von Windows 10. Ein weiterer kritischer Bug steckt aber auch in…
Der Downloader nimmt Windows-Rechner ins Visier. RansomHub festigt seine Position als führende Ransomware-Gruppe weltweit.
Britische Bestattungsunternehmen haben bereits reagiert und weisen darauf hin, dass ihre Beerdigungen nicht gelivestreamt werden.
Builtforbest setzt neue Maßstäbe im ganzheitlichen Gesundheitscoaching mit einem innovativen, wissenschaftlich fundierten Ansatz, der auf…