Sök…


Anmärkningar

XPath är ett språk för adressering av delar av ett XML-dokument.

Det används i XSLT och är en delmängd av XQuery. Bibliotek finns också för de flesta andra programmeringsspråk.

XPath är en internationell standard med specifikationer publicerade av W3C:

versioner

Version Utgivningsdatum
1,0 1999-12-16
2,0 2007-01-23
3,0 2014/04/08
3.1 (W3C kandidatrekommendation) 2015/12/17

Exempel på XML (utan namnutrymmen)

Här är ett exempel XML mot vilket exempel XPaths kan skrivas:

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

Välj text

För exemplet XML (utan namnutrymmen):

Denna XPath,

/r/f/text()

kommer att välja textnoden med detta strängvärde:

"Text 1"

Och denna XPath,

string(/r/f)

kommer att returnera strängvärdet för f , vilket också är:

"Text 1"

Välj ett element

För exemplet XML (utan namnutrymmen):

Denna XPath,

/r/e

kommer att välja detta element:

<e a="1"/>

Vanliga HTML-operationer

Om ingången HTML DOM är

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

Hitta ett element med en specifik id på hela sidan

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

Hitta ett element med en specifik id på en viss väg

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

Välj ett element med en viss id & klass

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

Välj texten för ett visst element

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

Testa Xpaths i webbläsarkonsolen

Ett snabbt sätt att testa din xpath är i verktygskonsolen för webbläsarens verktyg.

Formatet är

   $x('//insert xpath here')

$ - anger att det är en väljare.

x - anger att det använder xpaths

Exempel:

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

När detta kommando matas in kommer det att returnera alla förekomster av element som är knappar med text lika med Skicka.



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow