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 =======================