3

要素から単純なテキストを印刷するのに問題があり<h1>ます:

require 'nokogiri'

doc = Nokogiri::HTML("<h1><em>Name</em>A Johnson </h1>")
puts doc.at_xpath("//h1").content

以下を出力します。

NameA Johnson

A Johnson出力だけにしたい。XPathまたはCSSセレクターを使用してこのテキストだけを選択することは可能ですか?

4

2 に答える 2

2

text()XPath関数を使用してみませんか?このように(しかし、テストされていません):

require 'nokogiri'

doc = Nokogiri::HTML("<h1><em>Name</em>A Johnson </h1>")
puts doc.at_xpath("//h1/text()").content
于 2012-09-14T00:16:38.820 に答える
1

これらのソリューションは、ストーリーの一部しか提供しない場合があります。検討:

doc = Nokogiri::HTML("<h1><em>Name</em>A <br>Johnson </h1>")
puts doc.at_xpath("//h1/text()").content

=> A

puts doc.at('h1').children.last.text

=> Johnson

または私の提案:

puts doc.search("h1/text()").text

=> A Johnson
于 2012-09-14T00:57:21.093 に答える