Thomas Mell: Frage zu xpath

Beitrag lesen

Hi Tim
genau dafür brauche ich es - alle Elemente mit einer Klasse x finden.
Wie Du schon sagst, es können mehrere Klassen vorkommen und contains findet ja auch Klassen in denen die gesuchte Zeichenfolge "reinpasst".
Dafür habe ich aber ne Lösung gefunden - nicht schön aber es funktioniert:
//*[
@class = 'b'
or contains(@class, ' b ')
or starts-with(@class, 'b ')
or substring(@class, string-length(@class) - string-length('b')) = ' b'
]

Finden in den folgenden Beispielen richtigerweise die ersten 4:
<g class="b"/>
<g class="b c"/>
<g class="a b c"/>
<g class="a b"/>
<g class="aber"/>
<g class="ab er"/>
<g class="a ber"/>
<g class="baer"/>
<g class=" baer"/>
<g class="bergab"/>
<g class="bergab "/>

In .NET gibt es sogar Ergebnisse wenn sich zwischen den Klassen andere Whitespaces befinden (tab, Zeilenumbrüche). Diese werden dann Hexadezimal (0d und 0a) oder unverändert (tab) ausgegeben.
Ist das eine Eigenart von .NET oder ist das bei xpath so ?

Vielen Dank und Grüße
Thomas