Nokogiri:如何从XML :: Element中检索文本,从其后代中排除文本?

Kay*_*ute 2 ruby xpath nokogiri

是否有更优雅的方式来编写以下代码?

def get_text(element)
  text_node = element.children.find &:text?
  text_node.text if text_node
end
Run Code Online (Sandbox Code Playgroud)

aku*_*uhn 5

你可以写

element.xpath('text()').to_s
Run Code Online (Sandbox Code Playgroud)

它返回文本子文本的原始文本,element排除后代节点中的任何文本(而您的代码只返回第一个文本子项element).