C#, XPath

Hallo Wissende, ich habe folgendes Problem. Ich möchte aus einem xml dokument einen bestimmten Knoten auswählen. Dabei stoße ich auf ein für mich seltsames problem.

Der Pfad:
/AAA/BBB/CCC[normalize-space(@attr)=‚ddd‘]/DDD[3]/EEE

Ab EEE wird es nämlich komisch. Wenn ich mir die anzahl der Kinder von DDD ausgeben lasse, kommt der richtige rückgabewert. (1) Wenn ich mir die namen dieser Childnodes ausgeben lasse ist es ebenfalls korrekt. Verwende ich den namen aber im XPath, dann bekomme ich einen leeren Knoten zurück.
Verwende ich aber /* statt /EEE funktioniert es. Jetzt hat EEE aber noch mehrere Kinder und an die komme ich auch nur über /* ran und nicht über den namen. Ich möchte aber ein bestimmten knoten und nicht alle durchgehen.

Kann mir jemand einen Tipp geben wo sich der Fehler eingeschlichen hat?

Hallo Indyk,

/AAA/BBB/CCC[normalize-space(@attr)=‚ddd‘]/DDD[3]/EEE/FFF[1]

liefert brav das erste FFF Element.

Irgendwie habe ich das Gefühl deine Frage nicht verstanden zu haben. Poste mal das „kaputte“ xPath und das erwarete Ergebnis. Ggfs. mal die FFF mit einem Attribut (n= 1 bis 3) versehen.

mfg

Dirk.Pegasus