Zum Inhalt springen

Xml Parsing, Element nicht gefunden


Empfohlene Beiträge

Geschrieben

Hi FFI-User

Ich habe da ne Frage. Die Suche hat leider keine Ergebnisse hervorgebracht.

Es geht darum das ich ein XML-File Parsen will. Die Struktur habe ich, jedoch kann es sein das ab und zu dieses Element nicht vorhanden ist.

Struktur BEISPIEL:



<Party>

[INDENT]<Gast Name: Hans>[/INDENT]


[INDENT][INDENT]<Getränk>Wasser</Getränk>[/INDENT]
[/INDENT]

[INDENT][INDENT]<Schmuck>Ohrring</Schmuck>[/INDENT]
[/INDENT]

[INDENT]</Gast>[/INDENT]


[INDENT]<Gast Name: Uschi>[/INDENT]


[INDENT][INDENT]<Getränk>Wasser</Getränk>[/INDENT]
[/INDENT]

[INDENT]</Gast>[/INDENT]


</Party>




In diesem Beispiel ist bei Hans Schmuck vorhanden, aber bei Uschi nicht.

Wie kann ich nun auslesen, ob Schmuck vorhanden ist, oder eben nicht?!

Danke für die Antworten!

Liebe Grüsse

JL

Geschrieben

Ich sehe hier nicht den Bezug zu Java.

Du musst prüfen ob der Knoten vorhanden ist. Je nach Parser (Sax oder DOM) kannst Du die Knoten prüfen. Andere Möglichkeiten sind XSL, mit denen Du validieren kannst, ob ein Knoten existiert oder nicht, wobei eben damit schon bevor die XML einliest, geprüft werden kann, ob sie der Struktur entspricht. Weiteres wäre XQuery mit der Du direkt Knoten verarbeiten kannst

Geschrieben
Ich sehe hier nicht den Bezug zu Java.

Du musst prüfen ob der Knoten vorhanden ist. Je nach Parser (Sax oder DOM) kannst Du die Knoten prüfen. Andere Möglichkeiten sind XSL, mit denen Du validieren kannst, ob ein Knoten existiert oder nicht, wobei eben damit schon bevor die XML einliest, geprüft werden kann, ob sie der Struktur entspricht. Weiteres wäre XQuery mit der Du direkt Knoten verarbeiten kannst

Das ganze muss ich mit Java handlen :)

Geschrieben
Ah okay, also wie schon gesagt, Du musst den Baum parsen und dafür gibt es unterschiedliche Möglichkeiten

Das ist mir klar.

Ich habe es etwas sehr ungenau formuliert...

Ich kann nun


Element party=doc.getRootElement();

List<Element> gäste = party.getChildren("gast");

for(Element schmuckstück : gäste){

String schmuck = schmuckstück.getText();

}

bei: String schmuck....

gibt es mir eine Nullpointer exception, obwohl ein wert eingetragen ist!

Geschrieben

Schmuck ist aber trotzdem ein Knoten. Das Kind von Schmuck ebenfalls. Die zwei sollten sich jedoch beim Typ des Knotens unterscheiden (Elementknoten vs. Textknoten).

Du bist also noch eine Ebene zu weit oben würde ich sagen. Hast du dir mal die Stelle im Debugger angeschaut?

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...