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 回答