我无法从<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