XPath
Základy
/AAA
vybere kořenováý element
/AAA/CCC
yber všechny elementy CCC, které jsou přímými potomky kořenového elementu AAA
//BBB
Vyber všechny elementy BBB na všech úrovních
//DDD/BBB
Vyber všechny elementy BBB, které jsou přímými potomky DDD
/AAA/CCC/DDD/*
Vyber všechny elementy, které jsou přímými potomky /AAA/CCC/DDD
/*/*/*/BBB
Vyber všechny elementy BBB, které mají právě tři předky
/AAA/BBB[1]
Vyber prvního přímého potomka BBB elementu AAA
/AAA/BBB[last()]
Vyber posledního přímého potomka BBB elementu AAA
//@id
Vyber všechny atributy @id
//BBB[@id]
Vyber všechny elementy BBB na všech úrovních, které mají atribut "id"
//BBB[@*]
Vyber všechny elementy BBB, které mají jakýkoli atribut
//BBB[not(@*)]
Vyber všechny elementy BBB, které nemají žádný atribut
//BBB[@id='b1']
Vyber elementy BBB, jejichž atribut "id" má hodnotu "b1"
//BBB[normalize-space(@name)='bbb']
Vyber elementy BBB, které mají atribut "name" s hodnotou "bbb", přičemž koncové a počáteční mezery jsou před porovnáním odstraněny.
//*[count(BBB)=2]
Vyber elementy, které mají právě dva přímé potomky BBB
Pokročilé
//*[name()='BBB']
Vyber všechny elementy, které se jmenují BBB, ekvivalent k //BBB
//*[starts-with(name(),'B')]
Vyber všechny elementy, jejichž jméno začíná písmenem B
//*[contains(name(),'C')]
Vyber všechny elementy, jejichž jméno obsahuje písmeno C
osa přímých potomků
/child::AAA
osa potomků
/AAA/BBB/descendant::*
Vyber všechny potomky elementu /AAA/BBB
//CCC/descendant::DDD
Vyber elemnty DDD, které mají element CCC jako předka
osa rodičů
//DDD/parent::*
Vyber všechny přímé rodiče elementů DDD
/AAA/BBB/DDD/CCC/EEE/ancestor::*
Vyber všechny elementy, které jsou uvedeny v této absolutní cestě
//FFF/ancestor::*
Vyber všechny předky elementů FFF
/AAA/BBB/following-sibling::*
Osa "following-sibling" obsahuje všechny následující sourozence uzlu, který je v kontextu.
/AAA/XXX/preceding-sibling::*
/AAA/XXX/following::*
Osa "following" ("následující") obsahuje všechny uzly v tom samém dokumentu, které se vyskytují po uzlu, který je v kontextu, a to podle pořadí v dokumentu ("document order") a vyjma jakýchkoli potomků, atributů a uzlů jmenných prostorů.
Kombinování
//CCC | //BBB
Vyber všechny elementy CCC a BBB
Pozice
Operátor "div" provádí dělení (neceločíselné), operátor "mod" vrací zbytek po celočíselném dělení. Funkce "floor" vrací nejvyšší (bližší k plus nekonečnu) celé číslo, které není vyšší než argument. Funkce "ceiling" nejmenší (bližší k minus nekonečnu) celé číslo, které není menší než argument.
//BBB[position() mod 2 = 0 ]
//BBB[ position() = floor(last() div 2 + 0.5) or position() = ceiling(last() div 2 + 0.5) ]
//CCC[ position() = floor(last() div 2 + 0.5) or position() = ceiling(last() div 2 + 0.5) ]
XPath
Added: 2010-04-23 18:21:47
From: (Joined 2009-03-19 04:54:33)
26 views |6 downloads
XPath