Mittels XPath in Java Werte aus XML-Dateien lesen

URL dieses Beitrags: http://blog.stefan-macke.com/2008/03/28/mittels-xpath-in-java-werte-aus-xml-dateien-lesen/

Genauso wie das Validieren von XML-Dateien gegen Schemas ist auch das Auslesen von Werten aus XML-Dateien mittels XPath sehr gut im Internet dokumentiert: z.B. The Java XPath API oder Java, XPath und Namespaces.

Ich erweitere mal mein kleines PlantBuilder-Beispiel um eine einfache Auflistung der IDs aller in der XML-Datei enthaltenen Module:

  1. XPath xpath = XPathFactory.newInstance().newXPath();
  2. xpath.setNamespaceContext(new PPNamespaceContext());
  3. String xModules = "/pp:ProductionPlant/pp:Modules/pp:Module";
  4. NodeList modules = (NodeList) xpath.evaluate(xModules, doc, XPathConstants.NODESET);

Wichtig ist, dass doc Namespace-aware eingelesen wurde (siehe Zeile 47 im Quelltext) und ein NamespaceContext angelegt wird, da die zu verarbeitende XML-Datei Namensräume verwendet.

Download

Das erweiterte PlantBuilder-Beispiel inkl. benötigter import-Anweisungen und NamespaceContext gibt es hier zum Download: PlantBuilder2.

Und so wird es ausgeführt:

Kompilierung und Ausführung von PlantBuilder2

Füge diesen Artikel zu deinen Bookmarks hinzu Diese Icons verzweigen auf soziale Netzwerke bei denen Nutzer neue Inhalte finden und mit anderen teilen können.
  • del.icio.us
  • bodytext
  • MisterWong
  • Reddit
  • Technorati
  • Spurl
  • description

Einen Kommentar schreiben

XHTML: Diese Tags sind erlaubt: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>