【发布时间】:2017-05-27 11:11:57
【问题描述】:
我有一个这样的 HTML 结构:
<div>
This is
<p> very
<script>
some code
</script>
</p>
important.
</div>
我知道如何从这里获得Nokogiri::XML::NodeSet:
dom.xpath("//div")
我现在想过滤掉任何script 标签:
dom.xpath("//script")
所以我可以得到类似的东西:
<div>
This is
<p> very</p>
important.
</div>
这样我就可以拨打div.text获取:
"This is very important."
我尝试递归/迭代地遍历所有子节点并尝试匹配我想要过滤掉任何我不想要的任何节点的每个节点,但是我遇到了诸如空格过多或空格不足等问题。我很确定有一个足够好的和 rubyesque 的方式。
什么是这样做的好方法?
【问题讨论】:
-
请阅读“How to Ask”,包括链接页面,以及“minimal reproducible example”。我们需要查看您编写的演示问题的最少代码。没有它,您似乎还没有尝试过。如果您熟悉 NodeSet,那么您应该在 NodeSet 文档中看到过
unlinkAKAremove。
标签: html ruby xml xpath nokogiri