XML Dokument auslesen funktioniert nicht richtig

Status
Nicht offen für weitere Antworten.

LaLuna1987

Mitglied
Hy @ all ;)
Habe da wieder mal ein „XML-auslese-Problem“: Habe ein ganz einfaches XML Dokument und da sollen nun die einzelnen Elemente und ihr Inhalt ausgegeben werden, aber manches zeigt er mir dreimal an und anderes gar nicht oder in falscher Kombination (siehe rote Markierung bei Ausgabe), woran liegt das? :rtfm:
Ich hoffe mir kann jemand weiterhelfen. Mit dem XML auslesen ist mir bisher immer ziemlich schwer gefallen, weiß nicht warum ;(
Ich weiß dieses Thema kommt oft vor und ich bin auch schon seit heute Morgen am probieren, aber es will irgendwie nicht klappen. Mit diesem Code liest er wenigstens alles aus, bei meinen anderen versuchen kam „null“ oder gar nicht raus…
Danke im Vorraus :toll:
PS: Sorry mit den Einrückungen beim Java Code, irgendwie bekomme ich das hier auch nicht hin... heute ist kein guter Tag für die Wissenschaft...

Hier ein Teil meines Java-Codes:

Java:
public void parse(InputStream in) throws IOException {
     Reader reader = new InputStreamReader(in);    
     KXmlParser parser = new KXmlParser();
   
     try {
          parser.setInput(reader);
          while (parser.next() != XmlPullParser.END_DOCUMENT) {
               if (parser.getEventType() == XmlPullParser.START_TAG) {
	        String name = parser.getName();
	        while (parser.next() != XmlPullParser.END_TAG) {
	    	if (parser.getEventType() == XmlPullParser.TEXT) {
	    	     String content = parser.getText();
	    	     System.out.println("Element: " + name);
  		     System.out.println("Inhalt: " + content);
	    	 }
	         }
	  }
           }
       } catch (Exception ex) {
	 ex.printStackTrace();
       }	  
}

Hier das einfache XML Dokument:

[XML]
<?xml version="1.0" encoding="utf-8" ?>
<SGDatenbank>
<Sehenswuerdigkeit>
<Nummer>001</Nummer>
<Name>Kasseler Rathaus</Name>
<GPS_Breitengrad>1</GPS_Breitengrad>
<GPS_Laengengrad>2</GPS_Laengengrad>
<Bilddateiname>rathaus.jpg</Bilddateiname>
<Text>Das Kasseler Rathaus ist groß und schön...</Text>
</Sehenswuerdigkeit>
<Sehenswuerdigkeit>
<Nummer>002</Nummer>
<Name>Herkules</Name>
<GPS_Breitengrad>3</GPS_Breitengrad>
<GPS_Laengengrad>4</GPS_Laengengrad>
<Bilddateiname>herkules.jpg</Bilddateiname>
<Text>Der Herkules...</Text>
</Sehenswuerdigkeit>
</SGDatenbank>
[/XML]

So sieht die Ausgabe aus:

Element: SGDatenbank
Inhalt:

Element: SGDatenbank
Inhalt:

Element: SGDatenbank
Inhalt: 001


Element: Name
Inhalt: Kasseler Rathaus

Element: GPS_Breitengrad
Inhalt: 1

Element: GPS_Laengengrad
Inhalt: 2

Element: Bilddateiname
Inhalt: rathaus.jpg

Element: Text
Inhalt: Das Kasseler Rathaus ist groß....

Element: Sehenswuerdigkeit
Inhalt:

Element: Sehenswuerdigkeit
Inhalt: 002


Element: Name
Inhalt: Herkules

Element: GPS_Breitengrad
Inhalt: 3

Element: GPS_Laengengrad
Inhalt: 4

Element: Bilddateiname
Inhalt: herkules.jpg

Element: Text
Inhalt: Der Herkules...
 
S

SlaterB

Gast
du speicherst einmal parser.getName() in name und gehts davon aus, dass danach höchstens noch Text kommt bis zu einem End-Tag, so ist das aber nicht,
deswegen hast du am Anfang 3x SGDatenbank,
das ist der erste Tag und bis zum ersten End-Tag, nämlich </Nummer>, ignorierst du für allen weiteren Tags deren getName()

verwende überhaupt nur eine Schleife und gibt erstmal von jedem Element alles aus, immer Name, Type, Text usw.
 

LaLuna1987

Mitglied
Hy Slater.
Danke für deine Antwort, hat mir geholfen, habe das Problem verstanden. Habe nun einen Weg gefunden wie ich die Elemente und ihren Inhalt (falls sie welchen haben) anzeigen lasssen kann (siehe unten).
Danke :)

Java:
try {
	    	parser.setInput(reader);
	    	while (parser.next() != XmlPullParser.END_DOCUMENT) {
	    		if (parser.getEventType() == XmlPullParser.START_TAG) {
	    			String name = parser.getName();
	    			parser.next();
	    			if (!parser.isWhitespace()) {
		    			System.out.print(name + ": ");
	    				String text = parser.getText();
	    				System.out.println(text);
	    			}
	    		}
	    	}
	    } catch (Exception ex) {
	    	ex.printStackTrace();
	    }

Ausgabe:

Nummer: 001
Name: Kasseler Rathaus
GPS_Breitengrad: 1
GPS_Laengengrad: 2
Bilddateiname: rathaus.jpg
Text: Das Kasseler Rathaus...

Nummer: 002
Name: Herkules
GPS_Breitengrad: 3
GPS_Laengengrad: 4
Bilddateiname: herkules.jpg
Text: Der Herkules...
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Anzahl der Elemente in einem XML-Dokument auslesen XML & JSON 7
Y wie xml dokument aufbauen XML & JSON 40
R Castor unmarshal von XML Dokument - ClassCastException aufgrund vom falschen ClassLoader? XML & JSON 1
H Fatal Error: Markup im Dokument muss ordnungsgemäß formatiert sein. XML & JSON 2
K docBook XSLT: HTML Code Snippet in Erzeugte HTML Dokument einfügen XML & JSON 9
A Wie ueberprueft man ein XML-Dokument? XML & JSON 3
alexpetri XML Dokument teilweise zurückgeben XML & JSON 4
G MS-Word Dokument mit Java erstellen XML & JSON 2
D [anders geregelt] XML-Dokument vergleichen mit spez. Regeln XML & JSON 5
J XML-Dokument / JTree XML & JSON 7
G XML Dokument mit DOM erzeugen XML & JSON 9
A XML Dokument aus einem Schema ableiten/generieren? XML & JSON 6
T Warum passt diese DTD-Zeile nicht zu diesem Dokument? XML & JSON 7
Z beispiel für valides Xml-Dokument durch XML-Schema XML & JSON 5
N XML Dokument mit DTD validieren XML & JSON 9
L JSON auslesen und Labels in GUI verwenden XML & JSON 13
M json page 2 auslesen XML & JSON 1
J Auslesen der Länge einer XML-Datei in Android Studio XML & JSON 8
Kanda Sorata Eingabefelder von Excel Dateien auslesen XML & JSON 1
K XML vernünftig auslesen XML & JSON 9
K XML Datei erstellen und Daten daraus in Java auslesen XML & JSON 6
H SOAPBody auslesen XML & JSON 0
B XML auslesen, benötige Hilfe XML & JSON 13
I Liste in YAML Datei speichern und wieder auslesen XML & JSON 1
W XML einlesen und Attribute auslesen XML & JSON 1
A Leeres Array beim Auslesen von XML-Datei XML & JSON 4
M Json auslesen XML & JSON 7
K XML Auslesen, wie abspeichern? XML & JSON 32
D Attribute aus XML Auslesen XML & JSON 5
W Kindelemente mit JDOM eines bestimmten Attributes auslesen XML & JSON 6
R Apache POI: Gezieltes Auslesen von Zellen XML & JSON 2
S XMl auslesen:@ output ? XML & JSON 1
Z Verschachtelte XML auslesen XML & JSON 3
C JDOM: Value ohne Unterelemente auslesen XML & JSON 1
C XPath: Alle Kinder in einer Schleife auslesen XML & JSON 2
I XML IDs auslesen, erst X dann Y XML & JSON 2
S XML - rekursives auslesen - Zeilenumbruch als NodeValue? XML & JSON 3
O XML richtig auslesen XML & JSON 7
Kenan89 XML Tag-ID auslesen mit getElementById XML & JSON 2
J Excel zeilenweise auslesen - POI XML & JSON 5
J Excel Zellen auslesen - automatischer Stopp bei leerer Zelle XML & JSON 2
I XPath Namensräume und auslesen einzelner Knoten XML & JSON 3
S SVG auslesen und darstellen XML & JSON 5
G xpath: in Kindelement zwei Attribut-Werte auslesen XML & JSON 2
G xpath: Inhalt eines Kindelements auslesen XML & JSON 2
1 Html tabelle auslesen??? XML & JSON 6
JanUlrich Tabelle auslesen XML & JSON 2
A XSl mit JDom auslesen XML & JSON 1
K XMl auslesen XML & JSON 19
P Poi /XSSF : Excel-Tabelle auslesen XML & JSON 2
S XSD-Datei zulässige Werte auslesen XML & JSON 3
D rss auslesen XML & JSON 2
S Attribute von Elementen auslesen mit XPath XML & JSON 2
M Große Datei auslesen/in dieser suchen XML & JSON 2
M RSS-Datei auslesen von Yahoo Webservice XML & JSON 4
N Google Wetter XML (nur current_condition) auslesen mit Java XML & JSON 15
J Dateinamen beim Start auslesen XML & JSON 8
eQuest XML Jaxen Attribute auslesen XML & JSON 2
E XML Datei mit DOM auslesen (Text mit Attributen) XML & JSON 2
P jdom XML-Encoding auslesen XML & JSON 12
H XML Attribute auslesen XML & JSON 5
Nicer Bestimmten Wert aus einer XML Auslesen XML & JSON 34
L XML Daten auslesen und in Tabelle (Array) speichern XML & JSON 1
C Attributwert aus XML auslesen XML & JSON 10
H XML String auslesen XML & JSON 4
E XML Knoten mit rekursiver Methode auslesen XML & JSON 3
S Dom Baum auslesen XML & JSON 12
J Properties auslesen (Jar) XML & JSON 1
S auslesen XML & JSON 9
Z XML auslesen, Elemente daraus entfernen und als neue XML zurückgeben XML & JSON 2
M XMI-Datei auslesen XML & JSON 4
T EXSD auslesen mit XPath und JDOM XML & JSON 8
M XML-Datum als Referenz auf Objekt-Variable auslesen XML & JSON 5
Spot84 xmi auslesen XML & JSON 20
G Welche Klassen zum erzeugen/auslesen eines XML Files verwend XML & JSON 9
G Xml File schematisch auslesen XML & JSON 2
P NullPointerException beim Auslesen XML & JSON 8
N XML-String in MIDP auslesen XML & JSON 3
H mit JDOM Verarbeitungsanweisungen und Kommentare auslesen XML & JSON 2
K XML auslesen (simpel) XML & JSON 10
X XML File auslesen/parsen u. in ne Hashmap speichern XML & JSON 2
HeRaider Definitionen auslesen und Encoding XML & JSON 3
A SVG Datei auslesen und Batik XML & JSON 1
M XML werte auslesen ! XML & JSON 3
M XML File während Applet-Start auslesen? XML & JSON 10
L SAXReader , auslesen bis zum bestimmten knoten! XML & JSON 3
W XML DomDocument als String auslesen XML & JSON 2
T XML mit JDOM auslesen => langsam? XML & JSON 7
N XML Datei auslesen / Validierung XML & JSON 4
G einzelne tags mit jdom auslesen XML & JSON 4
F XML mit JDOM auslesen XML & JSON 2
N bestimmtes Element auslesen - ich verzweifel XML & JSON 3
A XML-File auslesen, alles leer? XML & JSON 2
H Elemente eines Node auslesen XML & JSON 2
H Xpath kindelemente auslesen XML & JSON 2
P [Solved] XSL: Element-Variable auslesen XML & JSON 2
A Internetinhalte auslesen und in einem XML-File speichern XML & JSON 4
A Auslesen einer XML Datei XML & JSON 58
P Knoten-Attribute einer xsd-Datei in einem JTree auslesen XML & JSON 18
M Aus DTD's Klassen auslesen XML & JSON 2

Ähnliche Java Themen

Neue Themen


Oben