2017-04-13 4 views
0

、私は次のうちのちょうどISBN番号を取得しようとしています:最初の兄弟だけを選択するにはどうしたらいいですか? XPathを使用し

<span class="product_info_details"> 
    <b class="">ISBN: </b>1941529429 
    <b class="">Contributors: </b> (Illustrator) 
    <b class="">Publisher:</b> Parallax Pr 
    <b class="">Published:</b> Nov 1 2016 
</span> 

、私が使用している場合:

//span[@class="product_info_details"]/b/following-sibling::text() 

私は出力を得る:

1941529429 

(Illustrator) 

Parallax Pr 

Nov 1 2016 

私は最初の値(1941529429)を結果として得るために何を使用できますか?

答えて

0
(//span[@class="product_info_details"]/b)[1]/following-sibling::text()[1] 
3

あなたはに次の兄弟のテキストノードをXPathがに部分文字列「ISBN」が含まれているものを見つけることb要素を制限し、制限したい最寄りだけ

//span[@class="product_info_details"]/b[contains(.,'ISBN')]/following-sibling::text()[1] 

または、b要素を、部分文字列 'ISBN'で始まる要素に限定することができます。

..../b[starts-with(.,'ISBN')]/.... 

位置インデックス1を使用すると、b要素の順序が一貫していることを前提としても動作するはずですが、上記の2つの選択肢は、あなたの意図に基づく部分文字列 'ISBN'検索条件を使用してターゲットテキストを検索します。

関連する問題