Document Object Model (DOM):

Beispiel:

import org.apache.xerces.dom.*;
import org.apache.xerces.utils.*;
import javax.xml.parsers.*;
import org.apache.xerces.parsers.DOMParser;
import org.xml.sax.*;
import org.apache.xml.serialize.*;
import org.w3c.dom.*;
import java.io.*;

public class DOMBeispiel {

   public static void main (String args[]) throws Exception {

       //zuerst ein Document einlesen

      DOMParser parser = new DOMParser();
      FileInputStream fs =
           new FileInputStream(new File("/home/andreas/Work/Presentation/guestb.xml"));

      parser.parse(new InputSource(fs));

      Document xmlDoc = parser.getDocument();

      //neuen Eintrag hinzufügen

      Element newEintrag = xmlDoc.createElement("EINTRAG");
      Element newName = xmlDoc.createElement("NAME");
      Element newEmail = xmlDoc.createElement("EMAIL");
      Element newComment = xmlDoc.createElement("COMMENT");

      newName.appendChild(xmlDoc.createTextNode("Hänschen Klein"));
      newEmail.appendChild(xmlDoc.createTextNode("hans@hans.de"));
      newComment.appendChild(xmlDoc.createTextNode("blabla"));

      newEintrag.appendChild(newName);
      newEintrag.appendChild(newEmail);
      newEintrag.appendChild(newComment);
      newEintrag.setAttribute("date", (new java.util.Date()).toString() );

     xmlDoc.getDocumentElement().appendChild(newEintrag);

     //das neue Document in einem File ablegen:
     OutputFormat format = new OutputFormat(xmlDoc);
     FileOutputStream out =
        new FileOutputStream(new File("/home/andreas/Work/Presentation/guestb.xml"));
     XMLSerializer serial = new XMLSerializer(out, format);
     serial.serialize(xmlDoc);

   }
}
   

Autor:  andreas.schaufler@gmx.de

zurück zur Übersicht