1
    doc = Nokogiri::HTML(open(url)).xpath("//*")
.xpath("//*[br]/text()[string-length(normalize-space()) != 0]")
.wrap("<span></span>")

    puts doc

テキストを返すだけです...指定されたxpath要素をラップした完全なhtmlソースを期待していました。

4

1 に答える 1

1

試す

doc = Nokogiri::HTML(open(url)).xpath("//*")
.xpath("//*[br and text()[string-length(normalize-space()) != 0]]")
.wrap("<span></span>")

puts doc

XPath が行うことは、空でないテキスト ノードをフェッチすることです。定義上、マークアップは含まれていません。

対照的に、私の XPath は、少なくとも 1<br>つの空でないテキスト ノードと、少なくとも 1 つの空でないテキスト ノードを含むすべてのノードをフェッチします。

于 2009-10-19T09:31:02.773 に答える