如何使用Nokogiri获取没有嵌套元素的内容

Eri*_*rik 3 ruby nested nokogiri

src = '<paragraph>And bla foo <note>not important</note> bar baz</paragraph>'
doc = Nokogiri::XML(src)
puts doc.xpath('paragraph').first.content
Run Code Online (Sandbox Code Playgroud)

上面的代码返回:

"And bla foo not important bar baz"
Run Code Online (Sandbox Code Playgroud)

我正在寻找一种方法来获取没有嵌套元素的内容.上面的例子只是一个示例XML,但在这个例子中我希望这样做:

"And bla foo bar baz"
Run Code Online (Sandbox Code Playgroud)

noo*_*odl 7

puts doc.xpath('paragraph/child::text()')
Run Code Online (Sandbox Code Playgroud)

多年来我一直没有使用XPath愤怒,但这似乎有效.

或者更好的是:

puts doc.xpath('paragraph/child::text()').to_s.squeeze(' ')
Run Code Online (Sandbox Code Playgroud)