next up previous contents
Nächste Seite: XML-Dateien bilden Aufwärts: XML-Daten verwenden, DOM Vorherige Seite: Attributwerte auslesen   Inhalt

Elemente und Kindelemente ausgeben

Im folgenden Beispiel sollen Elemente und - gegebenenfalls - bestimmte Kindelemente ausgegeben werden.

import javax.xml.parsers.*;
import org.w3c.dom.*;

public class XML4 {

    public void parsen(String [] args) throws Exception {
        DocumentBuilderFactory fabrik = DocumentBuilderFactory.newInstance();
        DocumentBuilder aufbau = fabrik.newDocumentBuilder();
        Document xmlbaum = aufbau.parse(args[0]);
        System.out.println("=======================");
        NodeList knotenListe = xmlbaum.getElementsByTagName("skriptum");
        int anzahl = knotenListe.getLength();
        for (int i=0; i<anzahl; i++) {
            Element element = (Element) knotenListe.item(i);
            String attributwert = element.getAttribute("titel");
            System.out.println(attributwert);
            System.out.println("-----------------------");
            Element kindElement = (Element) knotenListe.item(i);
            NodeList kindKnoten = kindElement.getElementsByTagName("kapitel");
            int anzahl2 = kindKnoten.getLength();
            for (int j=0; j<anzahl2; j++) {
                String elementwert = kindKnoten.item(j).getFirstChild().getNodeValue();
                System.out.println("\t" + elementwert);
            }
            System.out.println("=======================");
        }
    }

    public static void main (String [] args) throws Exception {
        XML4 proggi = new XML4();
        proggi.parsen(args);
    }
}

Beachte, wie die Methode getElementsByTagName() zweimal angewendet wird! Zunächst wird die Document - Methode auf das Dokument xmlbaum, dann die Element - Methode auf das jeweils ausgewählte Element kindElement angewendet. Wir erhalten eine einfach formatierte Ausgabe:

alfred@duron:~/java/xml> java XML4 test.xml
=======================
Java
-----------------------
        Einfuehrung
        XML
        DTD
        XSL
=======================
PHP
-----------------------
        Einfuehrung
        Apache
        Server - Client
        Grundlagen
        Formulare
        PDF
        Grafiken
=======================



Alfred Nussbaumer 2003-02-10