2016-07-21 8 views
0

エンドポイントと中間ポイントが異なる場合があります。私も持っているかもしれない間におけるxpathを使用して複数の段落からテキストを選択

<p style="margin-top: 0px;" > 

<p class="contactAdvisor"> 

を、私は、<strong><br>見出し1,2または3を<i><b>含む項目を変えています:私は常に持っている

2つの固定項目の間に1つ以上の<p>があります。

私が得ようとしているのは、見出し、さまざまなスタイルや内側のサブパラグラフ要素に囲まれていても、これらの2つの要素の間のすべてのテキストです。

私は、先行/後続兄弟を使いこなしましたが、私の最善の試みは、各ユースケースの前/後に基づいて作成されています。そして、それでも複数の問題が残るのは、複数の<p>が内部にあり、それらのすべてを選択しようとしているから、1つしか得られないからです。

+0

具体的なサンプルXML/HTMLを指定して、その特定のサンプルが与えられている正確な予想出力を記述してください。 – har07

答えて

0

階層に応じて、前の::またはprevious-sibling ::のいずれかを使用できます。

はの線に沿って何かを試してみてくださいselectong:

//*[preceding::p[@style="margin-top: 0px;"] and not (preceding::p[@class="contactAdvisor"])] 

これが第二と第二の後の最初の条件とすべてのものとの最初のpの前にすべてのものを除外する必要があります。テストされていないので、小切手を少し微調整する必要があるかもしれません。

+0

p [class = be p [@ class = –

+0

]そうではありません。ありがとうとよく目撃されたコードが修正されました。 – Mike

0
//p[@style="margin-top: 0px;"]/following::*[following::p[@class="contactAdvisor"]] 

//*[preceding::p[@style="margin-top: 0px;"] and following::p[@class="contactAdvisor"]] 
関連する問題