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

标签 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

上面的代码返回:

"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/

相关文章:

ruby - Nokogiri(在 Ubuntu 上)的可靠安装过程是什么?

ruby - 如何使用 Mechanize 单击链接来抓取订单的更多详细信息?

ruby - 加快我的词法分析算法

ruby - 当传递给新方法时,do..end block 会发生什么?

java - 嵌套 SELECT 查询 Java + MySQL

php - 嵌套 PHP 函数 : to what purpose?

javascript - 如果 id 不可用并且它是子元素,则为变量赋值

ruby - 使用 Nokogiri 在节点之间添加空间

ruby - SEQUEL Postgres 连接查询

ruby - 如何从出现在数组中的字符串中选择整个单词?