XML-Datei auslesen

Hi,

ich hab ein Problem mit dem Auslesen von XML-Dateien.
Und zwar hab ich z.B. eine XML-Datei, die so ausschaut:

XML:
<addresses>
   <person>
      <name>
         <first>Ingo</first>
         <last>Melzer</last>
      </name>
      <city>Laupheim</city>
      <country>Germany</country>
   </person>
   <person>
      <name>
         <first>Andreas F.</first>
         <last>Borchert</last>
      </name>
      <city>Lonsee</city>
      <country>Germany</country>
   </person>
</addresses>

Lese ich die Datei nun mit dem BufferedReader aus
Java:
try 
{
	BufferedReader br_auslesen = new BufferedReader(new FileReader(str_xml));
			      
	while(br_auslesen.readLine() != null)
	{
		System.out.println(br_auslesen.readLine());
	}
} 
catch (IOException e1) {}


so erhalte ich folgendes Ergebnis in der Konsole:

XML:
<person>
         <first>Ingo</first>
      </name>
      <country>Germany</country>
   <person>
         <first>Andreas F.</first>
      </name>
      <country>Germany</country>
</addresses>

Ich möchte aber das die Datei vollständig ausgelesen wird und danach jede einzelne Zeile in einen String-Array geschrieben wird.
Hoffe ihr könnt mir helfen

Gruß
Java_Anfänger
 
Zuletzt bearbeitet von einem Moderator:

zerix

Hausmeister
Moderator
Hallo,

die Datei wird ja auch komplett ausgelesen. Es wird aber nur jede zweite Zeile ausgegeben.

Du liest ja in der Bedingung immer eine Zeile aus und liest dann nochmal bei der Ausgabe eine Zeile aus.

Code:
while(br_auslesen.readLine() != null)
	{
		System.out.println(br_auslesen.readLine());
	}

Versuch es mal so.
Code:
String zeile;
while((zeile = br_auslesen.readLine()) != null)
{
	System.out.println(zeile);
}

Warum nutzt du denn nicht nen DOM-Parser?

MFG

Sascha