Extrahieren von Kind-Knoten Daten aus vorgegebenen Knoten
Will ich mit DOM4j für das Parsen von xml-Datei in Java.
Habe ich in diesem XML-Beispiel:
<request method="POST" url="/devices/test/planner" body="*">
<response statusCode="200">
<header>
<headerParameters>
<headerParameter name="Content-Type">
Content-Type=application/xml
</headerParameter>
</headerParameters>
</header>
<body>booking created!</body>
</response>
</request>
Angesichts der Anforderung (Erster Knoten) Knoten, wie kann ich extrahieren Sie die untergeordneten Knoten Daten?
Beispielsweise immer die <response>
status-code, oder die <headerParameter>
name-Attribute?
InformationsquelleAutor Michael A | 2012-01-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Vorausgesetzt, Sie bekommen die "Anfrage" - Knoten als
Element
dann können Sie etwas wie das hier tun:Wenn Sie möchten, Durchlaufen die Kinder rekursiv, dann haben Sie zu schreiben iterativ (oder rekursiv) - code zu jedem element in der Liste zurückgegeben, die von der
elements()
Methode.[Bearbeiten] Sie können auch verwenden von XPath zu extrahieren, die bestimmte Elemente du suchst:
InformationsquelleAutor maerics
Extrahieren von Kind-Knoten Daten aus vorgegebenen Knoten mit dom4j:
1. Setzen Sie diese java-code in einer Datei namens Main.java:
2. Setzen Sie diese in eine Datei namens /tmp/myxml.xml:
2. Legen Sie diese jar-Dateien in einem Verzeichnis namens lib in dem selben Verzeichnis wie Main.java:
3. Kompilieren Sie das Programm und führen Sie es aus dem terminal:
4. Interpretieren Sie die Ausgabe:
5. Was ist gerade passiert?
Dieser verwendet die Java-version 1.7.0 und importiert die dom4j version 1.6.1 Bibliothek sowie ein jaxen 1.1.1 support library. Es importiert die xml-Dokumentes, die vom Benutzer erstellt werden. Dann analysiert es mit dem SAXReader in einem Dokument-Typ. Es verwendet die selectNodes(string) - Methode zu greifen, die PieHole xml-tag. Für jede einzelne PieHole xml-tag, es wird greifen die cupcake-und montana-tags und legen Sie Sie in die Klasse "Foo". Am Ende, es gibt, was drin war Foo.
InformationsquelleAutor Eric Leschinski