11. März 2010  
  Suche:
 
  Basics
  Code-Galerie
  Forum
  FAQ
  Tipps & Tricks
  Literatur
  Knowledge Base
  Workshops
  JSP-Hosting
  JSP-Engines
  Jobbörse
  Links
  JSP-Sites
  Newsletter
  JSP-Test
  Impressum
  Username:
  
  Passwort:
  
  

  Jetzt registrieren
  Warum registrieren?

  Valid HTML 4.01!
  Valid CSS!

JSP - Workshop - XML mit JDOM - Step 1/4

Zur Verarbeitung von XML findet sich in JDOM ein sehr nützliches und praktisches Werkzeug. Deswegen wollen wir hier einen groben Überblick über die funktionsweise und Verwednung der api geben. JDOM befindet sich noch in der Beta-Phase, aber das Release 1.0 ist in naher Zukunft. Parallel zum Workshop sollte man sich auch die Dokumentation anschauen.

Im ersten Schritt starten wir mit der Erzeugung einer XML-Datei und schreiben diese in das Filesystem. Schritt 2 zeigt wie man eine XML-Datei einliest und manipuliert, im Schritt 3 verwenden wir eine Suche über das XML mittels XPATH und letztendlich transformieren wir das XML mit XSLT in Schritt 4.

Wir starten mit dem Erzeugen einer XML-Datei:

// Erzeugung eines XML-Dokuments
Document doc = new Document();

// Erzeugung des Root-XML-Elements mit dem Namen books
Element elRoot = new Element("books");
// Erzeugung eines XML-Elements mit dem Namen book
Element elBook = new Element("book");
// Dem Element book geben wir noch ein Attribut mit dem Namen id und dem Wert 1
elBook.setAttribute("id", "1");

// Und noch ein XML-Element mit dem Namen title
Element elTitle = new Element("title");
// dem wir einen Inhalt geben
elTitle.addContent(new Text("Java 2 Enterprise Edition"));
// und hiermit an unser Element book haengen
elBook.addContent(elTitle);

// Was waere ein Buch ohne Autor, also erzeugen wir noch ein Autor-Element
// und haengen die an unser Buch in verkuerzter Form
elBook.addContent((Element)new Element("author").addContent(new Text("Mark Wuttka")));

// Jetzt muessen wir noch an unser Root-Element books haengen
elRoot.addContent(elBook);

// Damit das eine Buch nicht so alleine ist haengen wir noch ein zweites dran
elBook = new Element("book");
elBook.setAttribute("id", "2");
elBook.addContent((Element)new Element("title").addContent(new Text("JavaServer Pages and Servlets")));
elBook.addContent((Element)new Element("author").addContent(new Text("Mark Wuttka")));
elRoot.addContent(elBook);

// Und jetzt haengen wir noch das Root-Element an das Dokument,
// haette man auch gleich nach dessen Erzeugung machen koennen
doc.setRootElement(elRoot);

// Damit das XML-Dokument schoen formattiert wird holen wir uns ein Format
Format format = Format.getPrettyFormat();
// und setzen das encoding, da in unseren Buechern auch Umlaute vorkommen koennten.
// Mit format kann man z.B. auch die Einrueckung beeinflussen
format.setEncoding("iso-8859-1");

// Erzeugung eines XMLOutputters dem wir gleich unser Format mitgeben
XMLOutputter xmlOut = new XMLOutputter(format);

// Schreiben der XML-Datei ins Filesystem
xmlOut.output(doc, new FileOutputStream(getServletContext().getRealPath("/path/to/test.xml")));
Die erzeugte XML-Datei sieht dann so aus:

<?xml version="1.0" encoding="iso-8859-1"?>
<books>
  <book id="1">
    <title>Java 2 Enterprise Edition</title>
    <author>Mark Wuttka</author>
  </book>
  <book id="2">
    <title>JavaServer Pages and Servlets</title>
    <author>Mark Wuttka</author>
  </book>
</books>

weiter zum Step 2




Hinweis: Auf dieser Seite liegen Links zu anderen Seiten im Internet. Für alle diese Links gilt: Wir betonen ausdrücklich, daß wir keinerlei Einfluß auf die Gestaltung und die Inhalte der gelinkten Seiten haben. Deshalb distanzieren wir uns hiermit ausdrücklich von allen Inhalten aller gelinkten Seiten auf dieser Homepage und machen uns ihre Inhalte nicht zueigen. Diese Erklärung gilt für alle auf unserer Homepage angebrachten Links

Redaktion/Betreiber von JSP-Develop übernehmen keinerlei Gewährleistung und Verantwortung für die Richtig- und/oder Vollständigkeit von den auf den Webseiten JSP-Develop veröffentlichten Source Codes. Die Verantwortung der Verwendung/Anwendung sowie etwaige Modifikation der hier veröffentlichten Sourcen obliegt einzig dem Benutzer der Webseite, welche die veröffentlichten Sourcen in einer Applikation/Anwendung einsetzt. Durch das Kopieren und/oder Benutzen der Sourcen in einer Applikation/Anwendung bzw. etwaigen Abschriften wird dieser Rechtshinweis anerkannt.

Java, JSP, JavaServer Pages, J2EE, EJB, JDBC, JNDI, JTA, Sun, Sun Microsystems are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and in other countries. IBM, WebSphere are trademarks or registered trademarks of International Business Machines Corporation. Other trademarks and registered trademarks are the property of their respective owners.