9

私はこの問題のいくつかの解決策を検索して試しましたが、どれもうまくいきませんでした:私はこのHTMLを持っています

<div class="detalhes_colunadados">
   <div class="detalhescolunadados_blocos">
     <h5>Descrição completa</h5>
    Sala de estar/jantar,2 vagas de garagem cobertas.<br>
    </div>
    <div class="detalhescolunadados_blocos">
      <h5>Valores</h5>
            Venda: R$ 600.000,00<br>
          Condomínio: R$ 660,00<br>
    </div>
</div>

そして、h5タグではない最初のdiv class="detalhescolunadados_blocos"のテキストコンテンツのみをXPathで抽出したいと思います。

試しました:// div [@ class ='detalhescolunadados_blocos'] / [1] / * [not(self :: h5)]


これはうまくいくように私には思えます:

//div[@class="detalhescolunadados_blocos"]/text()
4

3 に答える 3

12

次のXPath式を試してください。

//div[@class='detalhescolunadados_blocos'][1]//text()[not(ancestor::h5)]

これは戻ります:

$ xmllint --html --shell so.html
/ > xpath //div[@class='detalhescolunadados_blocos'][1]//text()[not(ancestor::h5)]    
Object is a Node Set :
Set contains 2 nodes:
1  TEXT
    content=      
2  TEXT
    content=     Sala de estar/jantar,2 vagas de gar...
于 2013-02-27T22:01:55.193 に答える
0

これを試してみてください:

//div[@class="detalhes_colunadados"]/div/text()
于 2013-02-27T22:01:31.650 に答える
0

これが機能するように私には思えます:

//div[@class="detalhescolunadados_blocos"]/text()
于 2013-02-27T21:59:33.557 に答える