XPath-Syntax für Gruppe von Tags

von Alexander Mueller » Montag, 13. März 2006



Hallo

gibte es eine XPath-Syntax um eine Gruppe von nodes
verschiedenen Namens(TagNames) einer Ebene als Liste
zu erhalten?


<root>
<interpret>Maria Callas<interpret>
<komponist>J.S.Bach</komponist>
<interpret>Heino<interpret>
<produzent>Dieter Bohlen</produzent>
</root>

//PseudoCode
nodelist = myNode.SelectNodes("root/(interpret|komponist)");
//liefert alles ausser Dieter Bohlen


Soll in .NET 2.0 funktionieren.

Mfg,
Alex



Re: XPath-Syntax für Gruppe von Tags

von Alexander Mueller » Montag, 13. März 2006







Hallo Björn, danke für die Antwort.

Bei: "/root/interpret | /root/komponist"
besteht die Liste dann eigentlich aus zwei 'Sublisten':
erst alle Interpreten, dann alle Komponisten?
Mir wäre es wichtig, dass die Reihenfolge der Nodes derjenigen des
Ausgangsdokuments entspricht. Ist aber vermutlich implementations-
abhängig.

Gibt es eigentlich irgendeine Methode ähnlich SelectNodes (oder ein
overload davon), der man sowas wie einen Funktionszeiger übergeben kann,
der dann mit dem jeweiligen Treffer-Node weitere Operationen/Prüfungen
durchführt?
In der Art der Funktionszeiger, die man in JavaScript als 2.tes Argument
von StringInstance.replace(RegExpInstance, pReplace) bzw
ArrayInstance.sort(pSort) übergibt?
Es geht wie gesagt um den Xml- u/o XPath- Namespace von .NET 2.

Btw kann man eigentlich auch rekursive Abfrage durchführen, also gib
mir alle Komponisten, abwärts von diesem Node (egal auf welcher Ebene)?

Und schliesslich: wie bekommt man alle Nodes, evt mit SelectNodes("*")?
Mir fehlt wohl ein gutes XPath-Turorial/Manual.

Mfg,
Alex



If you have any questions, you can contact us: admin#mofeel.net     Spam Report