Seite auswählen

Schlagwort: XML

XML-Datei parsen und XPath-Selektion erfolgreich

Wie verwende ich XPath in einem Java-Programm? Diese Frage stellte ich zunächst Tante Gurgel und fand den IBM-Artikel, den ich im vorigen Post bereits erwähnt hatte. Nach der Anleitung des IBM-Artikels habe ich zunächst ein neues Java-Projekt in Eclipse erstellt und im Projekt-Ordner eine Datei books.xml abgelegt, die folgenden Inhalt hat: <?xml version=”1.0″ encoding=”UTF-8″?> <inventory>   <book year=”2000″>     <title>Snow Crash</title>     <author>Neal Stephenson</author>     <publisher>Spectra</publisher>     <isbn>0553380958</isbn>     <price>14.95</price>   </book>     <book year=”2005″>     <title>Burning Tower</title>     <author>Larry Niven</author>     <author>Jerry Pournelle</author>     <publisher>Pocket</publisher>   <isbn>0743416910</isbn>     <price>5.99</price>   </book>     <book year=”1995″>     <title>Zodiac</title>     <author>Neal Stephenson</author>     <publisher>Spectra</publisher>     <isbn>0553573862</isbn>     <price>7.50</price>   </book>     <!– more books… –>   </inventory> Anschließend übernahm ich den Code aus Listing 4 in eine neu erstellte java-Datei (FirstTest.java): package de.budisantoso.da.test;   import java.io.IOException;   import javax.xml.parsers.*; import javax.xml.xpath.*;   import org.w3c.dom.*; import org.xml.sax.SAXException;   /** * @author adi * */ public class FirstTest {     /**   * @param args   * @throws ParserConfigurationException   * @throws IOException   * @throws SAXException   */   public static void main(String[] args) throws ParserConfigurationException, SAXException, IOException {     DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance();     domFactory.setNamespaceAware(true); // never forget this!     DocumentBuilder builder = domFactory.newDocumentBuilder();     Document doc = builder.parse(“books.xml”);       XPathFactory xpFactory = XPathFactory.newInstance();     XPath xpath = xpFactory.newXPath();       try {       XPathExpression expr = xpath.compile(“//book /title/text()”);       Object result = expr.evaluate(doc, XPathConstants.NODESET);       NodeList nodes = (NodeList) result;       for (int i = 0; i < nodes.getLength(); i++) {         System.out.println(nodes.item(i).getNodeValue());       }     } catch (XPathExpressionException e) {       // TODO Auto-generated catch block       e.printStackTrace();     }   }...

Weiterlesen

Model-Transformation mittels Java und XPath?

Meine Idee für die programmatische Transformation aus dem Single-Underlying-Model (SUM) in eine View (z.B. Structural Specification) ist eine Kombination aus Java und XPath. Für die Rücktransformation habe ich mir bis dato aber noch keine Gedanken gemacht. Unter der Annahme, dass das SUM im XMI-Format gespeichert ist, könnte ich über XPath die Teile des XML-Baums filtern, die ich für die Transformation benötige. Dies kann dann per Java-Code weiterverarbeitet werden und daraus ein neues Model erzeugt werden, das dann wiederum in eine XMI-Datei serialisiert wird. http://www.eclipse.org/modeling/mdt/uml2/docs/articles/Getting_Started_with_UML2/article.html http://www.ibm.com/developerworks/library/x-javaxpathapi.html Ich werde diesen Ansatz testen, indem ich zunächst versuchen werde, aus einer XMI-Datei mit zwei Klassen eine zu selektieren und diese in die neue .uml-Datei zu schreiben. @Dietmar, Benjamin: Was haltet ihr...

Weiterlesen
Wird geladen