xpathRozpoczęcie pracy z xpath


Uwagi

XPath to język do adresowania części dokumentu XML.

Jest używany w XSLT i jest podzbiorem XQuery. Biblioteki są dostępne również dla większości innych języków programowania.

XPath to międzynarodowy standard ze specyfikacjami opublikowanymi przez W3C:

Wersje

Wersja Data wydania
1.0 1999-12-16
2.0 23.01.2007
3.0 08.04.2014
3.1 (Rekomendacja dla kandydatów W3C) 17.12.2015

Typowe operacje HTML

Jeśli wejściowy DOM HTML to

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

Znajdź element o określonym identyfikatorze na całej stronie

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

Znajdź element o określonym identyfikatorze w określonej ścieżce

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

Wybierz element o określonym identyfikatorze i klasie

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

Wybierz tekst konkretnego elementu

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

Przykładowy XML (bez przestrzeni nazw)

Oto przykładowy kod XML, na podstawie którego można zapisać przykładowe wyrażenia XPath:

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

Wybierz element

W przykładowym pliku XML (bez przestrzeni nazw):

Ten XPath

/r/e
 

wybierze ten element:

<e a="1"/>
 

Wybierz tekst

W przykładowym pliku XML (bez przestrzeni nazw):

Ten XPath

/r/f/text()
 

wybierze węzeł tekstowy o następującej wartości ciągu:

"Text 1"
 

A ta XPath

string(/r/f)
 

zwróci wartość ciągu f , która jest również:

"Text 1"
 

Testowanie Xpaths w konsoli przeglądarki

Szybki sposób na przetestowanie Xpath jest w konsoli narzędzi programisty przeglądarki.

Format to

   $x('//insert xpath here')
 

$ - określa, że jest to selektor.

x - określa, że używa xpaths

Przykład:

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

Po wprowadzeniu tego polecenia zwróci wszystkie wystąpienia elementów, które są przyciskami z tekstem równym Prześlij.