Mit XPath auf eine XML Datei zugreifen

Naja letztendlich wollte ich nachfragen, wie ich den XPath Ausdruck beschreiben muss, damit ich aus einer Sequence aus AR-PACKAGE Elementen das oder die AR-PACKAGEElemente abrufen kann, die als Child-Element von ELEMENTS eine Sequence von FRAME-Elementen hat.

Du willst also eine Knotenmenge von AR-PACKAGE Elementen erhalten?
Code:
AR-PACKAGE[ELEMENTS/FRAME]
Gruß
 
Hallo,

vielen Dank für die Antwort.

Ich habe deinen Vorschlag gleich mal ausprobiert.

Code:
XmlNodeList arPackageNodes = arxmlDocument.SelectNodes("/ns:AUTOSAR/ns:TOP-LEVEL-PACKAGES/ns:AR-PACKAGE[ns:ELEMENTS/ns:FRAME]", arxmlNamespaceManager);

Ich habe jedoch 0 Elemente zurückbekommen. Ich erwarte aber 1 Element.

Wenn ich folgenden Aufruf mache erhalten ich eine Menge von 10 Elementen zurück.

Code:
XmlNodeList arPackageNodes = arxmlDocument.SelectNodes("/ns:AUTOSAR/ns:TOP-LEVEL-PACKAGES/ns:AR-PACKAGE[ns:ELEMENTS]", arxmlNamespaceManager);

Dieser Aufruf verhält sich gleich wie folgender Aufruf.

Code:
XmlNodeList arPackageNodes = arxmlDocument.SelectNodes("/ns:AUTOSAR/ns:TOP-LEVEL-PACKAGES/ns:AR-PACKAGE", arxmlNamespaceManager);
 
Zuletzt bearbeitet:
Also bei mir funktioniert das problemlos. Powershell:
Code:
> $doc = New-Object System.Xml.XmlDocument
> $doc.Load("example.xml")
> $ns = @{"ns" = $doc.DocumentElement.NamespaceURI}
> Select-Xml -Xpath "/ns:AUTOSAR/ns:TOP-LEVEL-PACKAGES/ns:AR-PACKAGE[ns:ELEMENTS/ns:FRAME]" -namespace $ns $doc
namespace $ns $doc

Node                                    Path                                    Pattern
----                                    ----                                    -------
AR-PACKAGE                              InputStream                             /ns:AUTOSAR/ns:TOP-LEVEL-PACKAGES/ns...
Es wird genau ein AR-PACKAGE gefunden.

Du mußt irgendetwas anderes falsch machen.

Verarbeitest du auch das richtige Dokument? Hast du es auch mit dem Beispieldokument probiert bevor du es hochgeladen hast?

Gruß
 
Hallo,

also mit dem Beispieldokument erhalten ich auch 1 Element als Ergebnismenge.

Ich werde mir jetzt nochmal das original anschauen, vielleicht hab ich ja irgendwas übersehen ...
 
Zurück