Hallo,
ich sitze gerade an einer Übung zur Bücherverwaltung.
In einer XML-Datei sind gespeichert: Name des Buches, Autor, Erscheinungsjahr, Verlag und Auflage.
Das sieht erstmal so aus:
Ziel soll es sein die Daten als Literaturverweis per Drag and Drop in andere Texteditoren zu kopieren.
Hab da im Moment noch nicht ganz den Durchblick.
Ich denke mal ich brauche folgende Klassen:
Das Lesen funktioniert erst einmal:
Hier der Code:
Habt ihr erstmal noch Ideen und Anregungen, Tips oder Ratschläge?
ich sitze gerade an einer Übung zur Bücherverwaltung.
In einer XML-Datei sind gespeichert: Name des Buches, Autor, Erscheinungsjahr, Verlag und Auflage.
Das sieht erstmal so aus:
Code:
<?xml version="1.0" encoding="utf-8"?>
<buchverzeichnis>
<buch>
<name>Erstes Buch</name>
<autor>Erster Autor</autor>
<jahr>2001</jahr>
<verlag>Erster Verlag</verlag>
<auflage>Erste Auflage</auflage>
</buch>
<buch>
<name>Zweites Buch</name>
<autor>Zweites Autor</autor>
<jahr>2002</jahr>
<verlag>Zweiter Verlag</verlag>
<auflage>Zweite Auflage</auflage>
</buch>
<buch>
<name>Drittes Buch</name>
<autor>Drittes Autor</autor>
<jahr>2003</jahr>
<verlag>Dritter Verlag</verlag>
<auflage>Dritte Auflage</auflage>
</buch>
</buchverzeichnis>
Ziel soll es sein die Daten als Literaturverweis per Drag and Drop in andere Texteditoren zu kopieren.
Hab da im Moment noch nicht ganz den Durchblick.
Ich denke mal ich brauche folgende Klassen:
eine zum lesen der XML-Datei
eine zum schreiben einer geänderten Datei
eine zur Anzeige (soll mit swing realisiert werden)
Das Lesen funktioniert erst einmal:
Hier der Code:
Code:
import java.io.IOException;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.w3c.dom.CharacterData;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
public class XMLExport {
public static void main(String[] args) throws SAXException, IOException, ParserConfigurationException{
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse("bibref.xml");
NodeList nodes = doc.getElementsByTagName("buch");
for (int i = 0; i < nodes.getLength(); i++) {
Element element = (Element) nodes.item(i);
NodeList name = element.getElementsByTagName("name");
Element line = (Element) name.item(0);
System.out.println("Name: " + getCharacterDataFromElement(line));
NodeList autor = element.getElementsByTagName("autor");
line = (Element) autor.item(0);
System.out.println("Autor: " + getCharacterDataFromElement(line));
NodeList jahr = element.getElementsByTagName("jahr");
line = (Element) jahr.item(0);
System.out.println("Erscheinungjahr: " + getCharacterDataFromElement(line));
NodeList verlag = element.getElementsByTagName("verlag");
line = (Element) verlag.item(0);
System.out.println("Verlag: " + getCharacterDataFromElement(line));
NodeList auflage = element.getElementsByTagName("auflage");
line = (Element) auflage.item(0);
System.out.println("Auflage: " + getCharacterDataFromElement(line));
}
}
public static String getCharacterDataFromElement(Element e) {
Node child = e.getFirstChild();
if (child instanceof CharacterData) {
CharacterData cd = (CharacterData) child;
return cd.getData();
}
return "?";
}
}
Habt ihr erstmal noch Ideen und Anregungen, Tips oder Ratschläge?