素人がプログラミングを勉強していたブログ

プログラミング、セキュリティ、英語、Webなどのブログ since 2008

連絡先: twitter: @javascripter にどうぞ。

XPath入門、実用例

すべての要素
//*
div直下のp
//div/p
style属性を持つspan
//span[@style]
alt属性のないimg
//img[not(@alt)]
idがheaderな要素
id("header")
rel属性がshortcut iconなlink要素
//link[@rel="shortcut icon"]
子要素にimgを持つa要素
//a[./img]
子、子孫にa要素を持つh2要素
//h2[.//a]
子要素にulがないdiv
//div[not(.//ul)]
javascript:から始まるhref属性を持つa要素
//a[starts-with(@href,"javascript:")]
alt属性の値がsrc属性の値と同じであるimg要素
//img[@alt=@src]
alt属性の値がsrc属性の値と異なるimg要素
//img[@alt!=@src]
alt属性もしくはtitle属性を持つimg要素
//img[@alt or @title]
alt属性もtitle属性も持つimg要素
//img[@alt and @title]
alt属性がなく、title属性があるimg要素
//img[not(@alt) and @title]
親要素がform要素であるtextarea要素
//textarea[../../form]
属性の値にcreditを含むすべての要素
//*[@*="credit"]
子要素を持たないh1要素
//h1[not(*)]
テキストがnextから始まるa要素
//a[starts-with(text(),"next")]
ul要素の初めのli要素
//ul/li[1]
ul要素の最後から二つ目のli要素
//ul/li[last()-1]
a要素もしくはlink要素
//a|//link

特定のclass属性を持った任意の要素にマッチするXPath | 3.14に、class名で指定する正しい方法が載っている。
Latest topics > CSS3セレクタとXPathでの表現の対応表 - outsider reflexに、CSSとXPathの対応表が載っている。
XPathの仕様書の邦訳は
XMLパス言語 (XPath)
にある。