Hatena::Groupos0x

FFFF RSSフィード

0xFFのメモです。

2008 March 7th Friday

ここよりも後でここより前を指定するXPath

| 00:21 | ここよりも後でここより前を指定するXPath - FFFF を含むブックマーク はてなブックマーク - ここよりも後でここより前を指定するXPath - FFFF

AutoPagerize pageElement ここよりもあとでここより前、みたいなのが書きたいとき - ロックスターになりたいより

following-sibling::node()[ ./following-sibling::*/descendant-or-self::kokomade ]

なるほどー。これ前やろうとして挫折したんだよなぁ。

少し改良(悪かも?)してみる

following-sibling::node()[ following::kokomade ]

[]ない先頭の./はなくてokっぽい。following-sibling::*/descendant-or-self::は、followingとほぼ同じなはず(厳密には違うけど、動作上は問題ないっぽい)。


ついでに@ITの改案。

### @IT
<textarea class="autopagerize_data" readonly="readonly">
url:          http://www.atmarkit.co.jp/
nextLink:     img[contains(@src,"/next.gif")]/parent::a
pageElement:  id("headmenu")/following-sibling::*[ following::img[contains(@src,"/next.gif")] ]
exapmleUrl:   http://www.atmarkit.co.jp/fsecurity/special/107bayes/bayes02.html
</textarea>
<textarea class="autopagerize_data" readonly="readonly">
url:          http://www.atmarkit.co.jp/
nextLink:     id("centercol")/p/b/a[contains(text(),"次のページ")]
pageElement:  //h2[@class="subhead1"]/following-sibling::*[following::p[@class="nextprev"]]
exapmleUrl:   http://www.atmarkit.co.jp/im/ces/serial/marketing/01/01.html
</textarea>

node()テキストノードなどを含むが、*は含まない。@ITの場合、*で足りるっぽい。


書き方のコツはinfogamiだとアカウント取れないので、避難所のほうが嬉しいかも。