Frage zu Tree Traversal

breakpoint

Mitglied
Wie man sieht, hänge ich die ganze Baumstruktur an einer TreeItem-Root-Node auf. Die möcht ich aber weghaben, und nur den XML-Baum. Hat jemand einen Vorschlag, wie ich die auf intelligente Weise wegbekomme? Es gibt bestimmt einen Ansatz, bei dem man die root-Node auf diese Weise gar nicht braucht, um eine Referenz auf den TreeItem-Baum zu erhalten.

Danke euch :)

Java:
package com.test;

import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

import java.io.File;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;

import org.jdom2.*;
import org.jdom2.input.*;

import javafx.scene.control.TreeItem;
import javafx.scene.control.TreeView;

public class MainWindow extends Application {

    public static void main(String[] args) {
        launch(args);
    }

    @Override
    public void start(Stage primaryStage) {

        SAXBuilder builder = new SAXBuilder();
        File xmlFile = new File("file4.xml");
        TreeItem<String> rootItem = new TreeItem<String>("root");
        rootItem.setExpanded(true);

        try {
            Document document = (Document) builder.build(xmlFile);
            Element root = document.getRootElement();

            traverse(root, rootItem);
        } catch (Exception ex) {
        }

        TreeView<String> tree = new TreeView<String>();
        tree.setRoot(rootItem);

        StackPane root = new StackPane();
        root.getChildren().add(tree);

        primaryStage.setScene(new Scene(root, 300, 350));
        primaryStage.show();
    }

    public static void traverse(Element current, TreeItem curItem) {

        String attr = current.getAttributeValue("name");
        String label = attr;

        TreeItem<String> newItem = new TreeItem<String>(label);

        newItem.setExpanded(true);
        curItem.getChildren().add(newItem);
        List children = current.getChildren();
        Iterator iterator = children.iterator();

        while (iterator.hasNext()) {
            Element child = (Element) iterator.next();
            traverse(child, newItem);
        }
    }

}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
W Design Frage zum Geld Protokoll des App Stores XML & JSON 0
K Frage zu der Ausgabe von XML Knotentypen XML & JSON 2
mananana Frage zu JSON XML & JSON 3
pkm Frage zu org.w3c.dom.Node.getNextSibling() und org.w3c.dom.Node.getNextChild() XML & JSON 1
F Frage zu XML Validation XML & JSON 5
L Frage zu ListViews XML & JSON 1
A Frage zu bestehender XML Datei XML & JSON 6
S XQuery - Frage zur Ausgabe XML & JSON 5
T Frage zu getContent unter jdom XML & JSON 6
R XPath - frage zur Adressierung XML & JSON 3
G XPATH-Frage XML & JSON 2
F XPath frage XML & JSON 4
B XPath frage XML & JSON 2
K XSLT Frage XML & JSON 4
T Frage zu XQuery (XQJ) / XPath XML & JSON 2
M Frage zu Erklärung im Online book "Java ist auch eine I XML & JSON 4
G web.xml frage XML & JSON 4
G Newbe - Frage.XML - Datei einlesen und speichern XML & JSON 2
G Frage zu XPath XML & JSON 2
T Newbie Frage. CSS Stylesheet einlesen und suchen nach Tags XML & JSON 6
O Frage zu JaxMe2! XML & JSON 3
E @pp workaround frage ;-) XML & JSON 3
T Newbie Frage.aus Java eine XML Datei erstellen? XML & JSON 7
Z Frage zu XML Schema XML & JSON 3
G Frage zu erreichen von Elementen XML & JSON 3
S [Frage] iterator bei jdom bricht ab XML & JSON 4
D xhtml Dateien splitten via DOM Tree XML & JSON 2
M Wie kann ich aus ein Document-Tree ein PDF generieren XML & JSON 2

Ähnliche Java Themen

Neue Themen


Oben