xpathAan de slag met xpath


Opmerkingen

XPath is een taal voor het adresseren van delen van een XML-document.

Het wordt gebruikt in XSLT en is een subset van XQuery. Bibliotheken zijn ook beschikbaar voor de meeste andere programmeertalen.

XPath is een internationale standaard met specificaties gepubliceerd door W3C:

versies

Versie Publicatiedatum
1.0 1999/12/16
2.0 2007-01-23
3.0 2014/04/08
3.1 (W3C Kandidaataanbeveling) 2015/12/17

Algemene HTML-bewerkingen

Als de invoer HTML DOM is

<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>
 

Zoek een element met een specifiek ID op de hele pagina

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

Zoek een element met een specifieke id in een bepaald pad

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

Selecteer een element met een bepaalde ID & klasse

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

Selecteer de tekst van een bepaald element

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

Voorbeeld-XML (zonder naamruimten)

Hier is een aantal voorbeeld-XML waartegen XPaths kunnen worden geschreven:

<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>
 

Selecteer een element

Voor de voorbeeld-XML (zonder naamruimten):

Deze XPath,

/r/e
 

selecteert dit element:

<e a="1"/>
 

Selecteer tekst

Voor de voorbeeld-XML (zonder naamruimten):

Deze XPath,

/r/f/text()
 

selecteert het tekstknooppunt met deze tekenreekswaarde:

"Text 1"
 

En deze XPath,

string(/r/f)
 

retourneert de tekenreekswaarde van f , die ook is:

"Text 1"
 

Xpaths testen in browserconsole

Een snelle manier om uw xpath te testen is in de console van uw browserontwikkelaarstool.

Formaat is

   $x('//insert xpath here')
 

$ - geeft aan dat het een selector is.

x - geeft aan dat het xpaths gebruikt

Voorbeeld:

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

Wanneer deze opdracht wordt ingevoerd, retourneert deze alle elementen die knoppen zijn met tekst gelijk aan Verzenden.