省略記法ではなく、詳細記法から学ぶと理解できるようになるらしい。確かにちょっと分ったかもしれない。今更だけど、これ使いこなせたら結構強力だな…。
これが基本。
軸::ノードテスト[式]
軸は省略すると"child"に、"//"にするとdescendant(子孫)になる。
「h2の中身が"XPath"であるdivブロックの中の、最初のクラスがhogeである要素」
/descendant::div[h2="XPath"]/descendant::*[@class="hoge"][1]
Unix等のファイルパスでも「./hoge/../moge/w/w/w/../../../」のように一回の記述であっちこっち移動するように見えるけど、XPathもそれに近い。コンテキストノードと呼ばれるものがあっちこっち動いているようなイメージ。
ここがわかりやすい
http://www.techscore.com/tech/XML/XPath/in...