xpathErste Schritte mit xpath


Bemerkungen

XPath ist eine Sprache zum Adressieren von Teilen eines XML-Dokuments.

Es wird in XSLT verwendet und ist eine Teilmenge von XQuery. Bibliotheken sind auch für die meisten anderen Programmiersprachen verfügbar.

XPath ist ein internationaler Standard mit von W3C veröffentlichten Spezifikationen:

Versionen

Ausführung Veröffentlichungsdatum
1,0 1999-12-16
2,0 2007-01-23
3,0 2014-04-08
3.1 (W3C-Kandidatenempfehlung) 2015-12-17

Allgemeine HTML-Operationen

Wenn die Eingabe HTML DOM ist

<html>
    <body>
        <a>link</a>
        <div class='container' id='divone'>
            <p class='common' id='enclosedone'>Element One</p>
            <p class='common' id='enclosedtwo'>Element Two</p>
        </div>
    </body>
</html>
 

Suchen Sie ein Element mit einer bestimmten ID auf der gesamten Seite

//*[@id='divone'] # Returns <div class='container' id='divone'>
 

Suchen Sie ein Element mit einer bestimmten ID in einem bestimmten Pfad

/html/body/div/p[@id='enclosedone'] # Returns <p class='common' id='enclosedone'>Element One</p>
 

Wählen Sie ein Element mit einer bestimmten ID und Klasse aus

//p[@id='enclosedone' and @class='common'] # Returns <p class='common' id='enclosedone'>Element One</p>
 

Wählen Sie den Text eines bestimmten Elements aus

//*[@id='enclosedone']/text() # Returns Element One
 

Beispiel-XML (ohne Namespaces)

Hier ist ein Beispiel-XML, gegen das Beispiel-XPaths geschrieben werden können:

<r>
  <e a="1"/>
  <f a="2" b="1">Text 1</f>
  <f/>
  <g>
    <i c="2">Text 2</i>
    Text 3
    <j>Text 4</j>
  </g>
</r>
 

Wählen Sie ein Element aus

Für das Beispiel-XML (ohne Namespaces):

Diese XPath,

/r/e
 

wird dieses Element auswählen:

<e a="1"/>
 

Text auswählen

Für das Beispiel-XML (ohne Namespaces):

Diese XPath,

/r/f/text()
 

wählt den Textknoten mit diesem String-Wert aus:

"Text 1"
 

Und dieser XPath,

string(/r/f)
 

gibt den String-Wert von f , der auch:

"Text 1"
 

Xpaths in der Browserkonsole testen

Eine schnelle Methode zum Testen Ihres xpath ist in der Konsole Ihres Browser-Entwicklertools.

Format ist

   $x('//insert xpath here')
 

$ - Gibt an, dass es sich um einen Selektor handelt.

x - gibt an, dass xpaths verwendet wird

Beispiel:

$x("//button[text() ='Submit']")
 

Bei Eingabe dieses Befehls werden alle Vorkommen von Elementen zurückgegeben, bei denen es sich um Schaltflächen handelt, deren Text gleich "Senden" ist.