1

たくさんの<div class="post">ノードがあり、それぞれのコンテンツを選択する必要がありますが、<div class="quote">.

例:

<div class="post">
<div class="quote"><a href="{url}">some text</div>
some content<br>more content
</div>

この例では、選択 "some content<br>more content"して除外します<div class="quote">..</div>

私はこれを試しましたが、うまくいきません:

@doc.xpath("//div[@class='post'][not(self::div)]")

4

1 に答える 1

2

XPath 式は、<div/>要素ではないすべての要素を選択している<div/>ため、値を返すことはありません。「ポスト」を選択した後、軸ステップが必要です<div/>

すべてのサブノードを選択しますが、ローカル名 (名前空間を省略) "div" とクラス属性 "quoe" を持つサブノードを除外します。

//div[@class='post']/node()[not(local-name() = 'div' and @class='quote')]

self::divローカル名 test の代わりに使用することもできます。

于 2013-09-19T23:45:28.730 に答える