如何提取不属于子节点的文本



我正在使用Ruby 2.4和Nokogiri。 如何从不属于另一个子元素的节点中提取文本? 也就是说,如果我有一个节点

<a>Text 1<b>Text 2</b></a>

我想提取"文本 1"而不是"文本 2"。 如果节点是

<c>Hello</c>

我可以简单地打电话

node.text

但是"node.text"不适用于我上面描述的更复杂的情况(它将同时返回"文本 1"和"文本 2"。

您可以使用 Nokogiri 的xpath选择器仅获取父元素的文本:

doc = Nokogiri::HTML("<a>Text 1<b>Text 2</b></a>")
doc.xpath("//a/text()").text
# => "Text 1"

你可以执行以下操作:

doc.at('a').child.text

doc.at('a').children[0].text

相关内容

  • 没有找到相关文章

最新更新