Hallo,
ich habe folgendes Problem. Ich habe eine XML - Datei, die ich gerne als Tree in SWT tree darstellen möchte, d.h. nach dem Öffnen der Datei soll die Struktur als Nodes feststehen. Ich habe in der XML Datei alle Referenzen mit JDOM und XPath aufgelöst, und bekomme auf der Kommandozeile die Ausgabe. Funktioniert einwandfrei.
Hier ein Beispiel der XML - Datei:
<root xmlns:xsi="http://www.w3.org/">
<Hosts name="HostName" code="404" server="/root/constanten[@name='SSL']"/>
....
<constanten name="SSL" wert="1" type="int"/>
.....
Wenn ich es auflöse mit JDOM und XPath (JAXEN, SAXBuilder), erhalte ich auf der Kommandozeile:
<Hosts>name: HostName code: 404 server: 1int </Hosts>
Alles wunderbar. Jetzt habe ich eine GUI in SWT erstellt, nur wie bekomme ich nach dem Öffnen der Datei diese Darstellung als Tree angezeigt?
Danke für die Hinweise!
Grüsse
---------
EDIT:
So sieht es aus:
So löse ich es auf, es klappt wunderbar. Jetzt habe ich einen Baum:
TreeItem treeItem = new TreeItem(wurzel, SWT.NONE);
treeItem.setText("Knoten");
---> ich möchte aber, dass bei setText eben die Ausgabe von String out (davor im Quellcode) erscheint, also die aufgelöste Referenz.
Wie mache ich es?
Danke und Grüsse
ich habe folgendes Problem. Ich habe eine XML - Datei, die ich gerne als Tree in SWT tree darstellen möchte, d.h. nach dem Öffnen der Datei soll die Struktur als Nodes feststehen. Ich habe in der XML Datei alle Referenzen mit JDOM und XPath aufgelöst, und bekomme auf der Kommandozeile die Ausgabe. Funktioniert einwandfrei.
Hier ein Beispiel der XML - Datei:
<root xmlns:xsi="http://www.w3.org/">
<Hosts name="HostName" code="404" server="/root/constanten[@name='SSL']"/>
....
<constanten name="SSL" wert="1" type="int"/>
.....
Wenn ich es auflöse mit JDOM und XPath (JAXEN, SAXBuilder), erhalte ich auf der Kommandozeile:
<Hosts>name: HostName code: 404 server: 1int </Hosts>
Alles wunderbar. Jetzt habe ich eine GUI in SWT erstellt, nur wie bekomme ich nach dem Öffnen der Datei diese Darstellung als Tree angezeigt?
Danke für die Hinweise!
Grüsse
---------
EDIT:
So sieht es aus:
Code:
SAXBuilder builder = new SAXBuilder();
example = builder.build( new File("xml/example.xml"));
exampleRoot = example.getRootElement();
for (Iterator i = exampleRoot.getChildren("Hosts").iterator(); i.hasNext();) {
Element e = (Element) i.next();
Element singleTag = getSingleElementbyXPath("/root/Hosts[@name='HostName']");
String server = singleTag.getAttributeValue("server");
Element flag = (Element) getSingleElementbyXPath(server);
String out = flag.getAttributeValue("wert")+flag.getAttributeValue("type");
System.out.println("using name" + e.getAttributeValue("name") + "server" + out);
}
So löse ich es auf, es klappt wunderbar. Jetzt habe ich einen Baum:
TreeItem treeItem = new TreeItem(wurzel, SWT.NONE);
treeItem.setText("Knoten");
---> ich möchte aber, dass bei setText eben die Ausgabe von String out (davor im Quellcode) erscheint, also die aufgelöste Referenz.
Wie mache ich es?
Danke und Grüsse