Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

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

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

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 :)

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!

Soweit ich mich jetzt erinnere wird der Inhalt eines Knotens wieder als Knoten gesehen

Aber ich mache doch ein getText();

...

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?

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.