2

jqueryでは非常に単純です

例えば

$("br").parent().contents().each(function() {

しかし、nokogiri、xpathの場合、

うまくいかない

var = doc.xpath('//br/following-sibling::text()|//br/preceding-sibling::text()').map do |fruit| fruit.to_s.strip end
4

2 に答える 2

2
require 'rubygems'
require 'nokogiri'

doc = Nokogiri::HTML(DATA.read)
fruits = doc.xpath('//br/../text()').map { |text| text.content.strip }
p fruits


__END__
<html>
<body>
  <div>
    apple<br>
    banana<br>
    cherry<br>
    orange<br>
  </div>
</body> 
于 2009-12-29T11:13:40.410 に答える
0

ノコギリには詳しくありませんが、を含む要素のすべての子を見つけようとしています<br/>か? その場合は、次を試してください。

//*[br]/node()

いずれにせよ、 text() を使用すると、テキストノードのみが一致し、兄弟要素は一致しません。これは、必要な場合とそうでない場合があります。実際にテキストノードのみが必要な場合は、

//*[br]/text()

トリックを行う必要があります。

于 2009-10-12T00:15:56.573 に答える