要素から単純なテキストを印刷するのに問題があり<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セレクターを使用してこのテキストだけを選択することは可能ですか?
要素から単純なテキストを印刷するのに問題があり<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セレクターを使用してこのテキストだけを選択することは可能ですか?
text()
XPath関数を使用してみませんか?このように(しかし、テストされていません):
require 'nokogiri'
doc = Nokogiri::HTML("<h1><em>Name</em>A Johnson </h1>")
puts doc.at_xpath("//h1/text()").content
これらのソリューションは、ストーリーの一部しか提供しない場合があります。検討:
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