web-dev-qa-db-ja.com

XPathで(テキスト)を取得

次のDOM構造/ HTMLがあります。マークしたデータを取得したい(練習しているだけです...)。 enter image description here

H2要素の下にあるもの。そのdiv [@ class = "coordsAgence"]要素には、以下にいくつかのdiv子があり、さらにいくつかのh2があります。

div[@class="coordsAgence"]

その値を取得しますが、不要なテキストが追加されます。 [〜#〜] update [〜#〜]:基本的に必要な値(この例から)は、「GALLIER Dennis」というテキストです。

15
snoofkin

そのdivの最初のテキストノードが必要なようです:

div[@class="coordsAgence"]/text()[1]

それを行う必要があります。

これは、<div class="coordsAgence">内のコメント間に空白が実際にはないことを前提としています。それ以外の場合、その空白は、説明が必要な追加のテキストノードを構成します。

21
Liza Daly

クラスh2を使用して、divの最初の"coordsAgence"に続く最初のテキストノードを取得します。

div[@class='coordsAgence']/h2[1]/following-sibling::text()[1]

この最初の式は、2つの間に他のノードが表示されている場合でも、最初のh2の後に最初のテキストノードを返すことに注意してください。最初のh2の後にimmediatelyが続くノードである場合にのみテキストを返したい場合は、次のようにします。

div[@class='coordsAgence']/h2[1][following-sibling::node()[1][self::text()]]/following-sibling::text()[1]
1
Wayne Burkett