Tach,
scheinbar stehe ich etwas auf der Leitung, aber aus dem "Tutorial" geht leider in keinster Weise hervor, wie die Lesezugriffe auf die XML-Datei funktionieren.
Also... ich habe folgende XML-Datei:
Nun möchte ich die einzelnen Adressen auslesen in der Form
Wie zum Henker geht das? Der o.a. Code ist natürlich falsch.
Mein bescheidener Ansatz sieht derzeit so aus:
Aber das ist weder prickelnd noch annähernd das, was ich mir wünsche, s.o.
Wo liegt mein Denkfehler?
scheinbar stehe ich etwas auf der Leitung, aber aus dem "Tutorial" geht leider in keinster Weise hervor, wie die Lesezugriffe auf die XML-Datei funktionieren.
Also... ich habe folgende XML-Datei:
Code:
<?xml version="1.0"?>
<adresses>
<adresse>
<name>Mustermann</name>
<vorname>Hans</vorname>
<strasse>Musterstrasse</strasse>
<hausnummer>471</hausnummer>
<postleitzahl>12345</postleitzahl>
<wohnort>Berlin</wohnort>
</adresse>
<adresse>
<name>Mustermann</name>
<vorname>Kurt</vorname>
<strasse>Kaiserstrasse</strasse>
<hausnummer>4</hausnummer>
<postleitzahl>98765</postleitzahl>
<wohnort>Kleinkleckersdorf</wohnort>
</adresse>
<adresse>
<name>Tunichtgut</name>
<vorname>Elfriede</vorname>
<strasse>Bahnhofstrasse</strasse>
<hausnummer>1</hausnummer>
<postleitzahl>55555</postleitzahl>
<wohnort>Hogsmeade</wohnort>
</adresse>
<adresse>
<name>Dumbledore</name>
<vorname>Albus</vorname>
<strasse>Hexenstrasse</strasse>
<hausnummer>666</hausnummer>
<postleitzahl>66666</postleitzahl>
<wohnort>Hogwarts</wohnort>
</adresse>
</adresses>
Nun möchte ich die einzelnen Adressen auslesen in der Form
Code:
for ( int i = 0; i < adresse.anzahl; i++)
{
Element element = (Element)adresse.get( i );
String sName = element.get("name");
String sVorname = element.get("vorname");
String sStrasse = element.get("strasse"); // usw. so, dass in den Strings auch die enthaltenen Werte drin stehen, als Name "Mustermann" usw.
}
Wie zum Henker geht das? Der o.a. Code ist natürlich falsch.
Mein bescheidener Ansatz sieht derzeit so aus:
Code:
private final void readXML()
{
SAXBuilder sxbuild = new SAXBuilder();
InputSource is = new InputSource("D:\\eclipse\\workspace\\HFTests\\src\\TableTest\\adressen.xml");
try
{
Document doc = sxbuild.build(is);
Element root = doc.getRootElement();
List children = root.getChildren();
for (int i = 0; i < children.size(); i++)
{
Element child = (Element)children.get( i );
System.out.println("Child: " + child.toString());
List content = child.getContent();
for (int j = 0; j < content.size(); j++)
{
Object cont = content.get( j );
System.out.println("Content: " + cont.toString());
if ( cont instanceof Element )
{ // im XML Dokument verstecken sich auch noch '\n'
String sName = ((Element)cont).getName();
System.out.println("Name: " + sName);
List values = ((Element)cont).getContent();
System.out.println("Wert: " + values.get(0).toString());
}
}
}
int i = 1;
}
catch(Exception e){}
}
Aber das ist weder prickelnd noch annähernd das, was ich mir wünsche, s.o.
Wo liegt mein Denkfehler?