次のDOM構造/ HTMLがあります。マークしたデータを取得したい(練習しているだけです...)。
H2要素の下にあるもの。そのdiv [@ class = "coordsAgence"]要素には、以下にいくつかのdiv子があり、さらにいくつかのh2があります。
div[@class="coordsAgence"]
その値を取得しますが、不要なテキストが追加されます。 [〜#〜] update [〜#〜]:基本的に必要な値(この例から)は、「GALLIER Dennis」というテキストです。
そのdivの最初のテキストノードが必要なようです:
div[@class="coordsAgence"]/text()[1]
それを行う必要があります。
これは、<div class="coordsAgence">
内のコメント間に空白が実際にはないことを前提としています。それ以外の場合、その空白は、説明が必要な追加のテキストノードを構成します。
クラス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]