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

上面的代码返回:
"And bla foo not important bar baz"

我正在寻找一种无需嵌套元素即可获取内容的方法。
上面的例子只是一个 XML 示例,但在这个例子中,我想要这样的结果:
"And bla foo bar baz"

最佳答案

puts doc.xpath('paragraph/child::text()')

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

或者更好:
puts doc.xpath('paragraph/child::text()').to_s.squeeze(' ')

关于ruby - 如何使用 Nokogiri 获取没有嵌套元素的内容,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4679175/

10-13 07:15