2010-11-23 3 views
2

dieses xml Gegeben:Wie ein Attribut auszuwählen, die ein @ -Zeichen (at-Zeichen) enthält

<results> 
    <result version="@2.15" url="some url"/> 
    <result version="2.14" url="some url"/> 
</results> 

Wie wähle ich das Element Version enthält = "@ 2.15"? Ich habe Probleme herauszufinden, wie man das @ -Zeichen in den XPath steckt.

Vielen Dank im Voraus, Erik

+0

Gute Frage, + 1. Siehe meine Antwort für eine detaillierte Erklärung, dann eine Lösung. –

Antwort

2

Dieser XPath das gewünschte result Element wählt:

/results/result[@version='@2.15'] 

Hinweis: Es gibt keine Notwendigkeit, "Flucht" eine wörtliche @.

+0

Danke! Es funktioniert jetzt gut. – venerik

+0

@venerik: Sie sind willkommen. –

1

Wie wähle ich das Element, das version = "@ 2.15" enthält? Ich habe Probleme herauszufinden, wie Sie das @ -Zeichen in der XPath setzen.

In XPath ist dies einfach: eine beliebige Zeichenfolge wörtliche muss durch ein Paar von Anführungszeichen oder Apostrophe umgeben sein.

So:

@x 

gibt ein Attribut namens x

aber:

'@x' 

ist nur ein Stringliteral, enthält die Zeichen '@' und 'x'

Lösung:

Verwendung:

/*/*[@version='@2.15'] 

Dies wählt jedes Element, das ein Kind des oberen Elements des Dokuments ist und das ein version Attribut mit dem Wert die Zeichenfolge "@2.15"

Verwandte Themen