%Teilweise Erzeugt mit dem LaTeX-Generator: http://latex.sehnot.de

%Schriftgröße, Layout, Papierformat, Art des Dokumentes
\documentclass[10pt,oneside,a4paper]{scrartcl}

%Einstellungen der Seitenränder
\usepackage[left=2cm,right=2cm,top=1.5cm,bottom=1.5cm,includeheadfoot]{geometry}

%neue Rechtschreibung
\usepackage[ngerman]{babel}

%Umlaute ermöglichen
\usepackage[utf8]{inputenc}

%Gesamtseitenzahl
\usepackage{lastpage}

% Kopf- und Fußzeile
\usepackage[automark]{scrpage2}

%Quellcode-Listings
\usepackage{listings}

%Hyperlinks
\usepackage{hyperref}

%Kopfzeile
\ihead{Java}
\chead{}
\ohead{http://kohnlehome.de/java/jdom2.pdf}
\setheadsepline{0.5pt}

%Fußzeile
\setfootsepline{0.5pt}
\ifoot{Franz Kohnle}
\cfoot{Seite \thepage\ von  \pageref{LastPage}}
\ofoot{\today}

\pagestyle{scrheadings}

\begin{document}

% Überschrift 
\begin{center}
\LARGE % Schriftgröße
\bfseries % Fettdruck
\sffamily % Serifenlose Schrift
JDOM 2
\end{center}


\section{Download und Installation}
\begin{itemize}
\item Download jdom-2.0.6.zip: \href{http://www.jdom.org/downloads/}{jdom.org/downloads}
\item Installation: jdom-2.0.6.jar ins Projektverzeichnis kopieren
\item IntelliJ: File $\rightarrow$ Project Structure $\rightarrow$ Libraries
\end{itemize}


\section{Mit JDOM ein XML-Dokument erstellen}

\begin{verbatim}
import org.jdom2.Document;
import org.jdom2.Element;
import org.jdom2.output.Format;
import org.jdom2.output.XMLOutputter;

// XML-Dokument erzeugen
Element root = new Element("kontakte");
Document doc = new Document(root);

root.addContent(new Element("person")
        .addContent(new Element("name").addContent("Anna"))
        .addContent(new Element("alter").addContent("17")));
root.addContent(new Element("person").setAttribute("email", "berta@gmx.de")
        .addContent(new Element("name").addContent("Berta"))
        .addContent(new Element("alter").addContent("71")));

// Dokument für Ausgabe aufbereiten
XMLOutputter out = new XMLOutputter(Format.getPrettyFormat());

// Ausgabe als String
String xmlText = out.outputString(doc);

// Ausgabe in Datei
out.output(doc, new FileOutputStream("C:\\kontakte.xml"));
\end{verbatim}

\section{XML-Dokument}
\begin{verbatim}
<?xml version="1.0" encoding="UTF-8"?>
<kontakte>
  <person>
    <name>Anna</name>
    <alter>17</alter>
  </person>
  <person email="berta@gmx.de">
    <name>Berta</name>
    <alter>71</alter>
  </person>
</kontakte>
\end{verbatim}

\newpage

\section{Mit JDOM eine XML-Datei parsen}
\begin{verbatim}
import org.jdom2.Document;
import org.jdom2.Element;
import org.jdom2.input.SAXBuilder;

SAXBuilder parser = new SAXBuilder();
Document doc = parser.build(new FileInputStream("C:\\kontakte.xml"));
Element root = doc.getRootElement();
List tabelle = root.getChildren();
Iterator iterator = tabelle.iterator();
while (iterator.hasNext()) {
   Element person = (Element) iterator.next();
   String name = person.getChildText("name");
   String alter = person.getChildText("alter");
}
\end{verbatim}

\end{document}
