Probleme mit XML auslesen

Hi, ich stehe hier gerade auf dem Schlauch, ich möchte die folgende Datei auslesen, das klappt auch bis auf die Ebene nach , ich habe das im code markiert mit " <----- immer leer…warum?"

Dim x As New XmlDocument(txt)
Dim n As XmlNode = x.DocumentElement

Dim orders As XmlNode = n.Child(1).FirstChild
Dim contacts As XmlNode
Dim contact As XmlNode
dim inhalt As XmlNode

While orders <> Nil

global_meldung(orders.Name,1)
global_meldung(orders.GetAttribute("id"),1)
global_meldung(orders.GetAttribute("date"),1)
global_meldung(orders.GetAttribute("currency"),1)

contacts=orders.FirstChild
global_meldung(contacts.GetAttribute("id"),1)

contact=contacts.FirstChild
While contact <> Nil
  inhalt=contact.Child(i)
  global_meldung(contact.name,1) 
  global_meldung(contact.Value,1) <----- immer leer...warum?
  contact = contact.NextSibling
wend

orders = orders.NextSibling

Wend

Hier ein teil der Datei:

<?xml version="1.0" encoding="UTF-8"?>





m
Heino
Müller

Musterstraße. 40
64666
Darmstadt
Deutschland
<delivery_gender>m</delivery_gender>
<delivery_firstname>Heino </delivery_firstname>
<delivery_lastname>Müller</delivery_lastname>
<delivery_company></delivery_company>
<delivery_street>Musterstraße. 40</delivery_street>
<delivery_zip>64666</delivery_zip>
<delivery_city>Darmstadt</delivery_city>
<delivery_country>Deutschland</delivery_country>

j

Ich habe meinen Fehler erkannt, das funktioniert jetzt, allerdings nur im ersten Datensatz, dann kommt ein Nil, obwohl alle Felder vorhanden sind. Hier nochmal der jetzige code:

While orders <> Nil
skip=false
order_id=orders.GetAttribute(“id”)
date=orders.GetAttribute(“date”)
currency1=orders.GetAttribute(“currency”)
status=orders.GetAttribute(“status”)

  contacts=orders.FirstChild
  contact_id=contacts.GetAttribute("id")
  gender=contacts.Child(0).FirstChild.Value
  firstname=contacts.Child(1).FirstChild.Value
  lastname=contacts.Child(2).FirstChild.Value
  company=contacts.Child(3).FirstChild.Value

usw…
orders = orders.NextSibling
wend

Lasse ich das durchlaufen, ohne dass ich den zweiten Block mit contacts auslese, bekomme ich alle Order ids usw., sobald ich jedoch die Contacts-Daten auslese kommt beim 2. Datensatz ein Nil

Verstehe jetzt gar nichts mehr… hat hier jemand eine Idee??

OK, ich habe es gefunden, es kommt ein Nil wenn bei company=contacts.Child(3).FirstChild.Value kein value vohanden ist.

Das kann doch nicht sein, wie kann man das denn umgehen bzw. vorher prüfen??