xpath Handledning
Komma igång med xpath
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:
- XPath 1.0: XML Path Language (XPath), version 1.0
- XPath 2.0: XML Path Language (XPath) 2.0 (andra upplagan)
- XPath 3.0: XML Path Language (XPath) 3.0
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.