5

次のようなhtmlがある場合

<div class=unique_id>    
  <h1 class="parseasinTitle">
    <span> Game Title </span>
 </h1>
 Game Developer
</div>

テキストの「ゲーム開発者」部分だけを取得するために xpath を使用する方法はありますか? 私が試した周りの検索から:

//div[@class='unique_id' and not(self::h1/span)]

しかし、それでも「Game Title Game Developer」というテキスト全体が表示されます。

4

2 に答える 2

6
div[@class = 'unique_id']/text()[not(normalize-space() = '')]

また

div[@class = 'unique_id']/text()[last()]

コンテキストに応じて。

結果のテキスト ノードをトリミングする必要があることに注意してください。

于 2013-08-13T20:31:11.827 に答える
0

角括弧 (「述語」) 内の条件は、ノードの条件を指定します。divノードは同時ではないのでh1、否定が成立します。しかし、おそらく本来の意図であるchildの代わりにを使用するselfと、期待されるテキストを取得できません。つまり、「unique_id tah を持つ div を検索すると、h1/span の子がありません」という意味になるため、何も取得できません。

テキストが必要な場合は、text() を指定します。

//div/text()[last()]
于 2013-08-13T20:31:45.503 に答える