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/