J'ai une structure HTML comme ceci:Comment supprimer un nœud à l'aide Nokogiri
<div>
This is
<p> very
<script>
some code
</script>
</p>
important.
</div>
Je sais comment obtenir un Nokogiri::XML::NodeSet
de ceci:
dom.xpath("//div")
Je veux maintenant filtrer les script
tag:
dom.xpath("//script")
Je peux donc obtenir quelque chose comme:
<div>
This is
<p> very</p>
important.
</div>
Alors que je peux appeler div.text
pour obtenir:
"This is very important."
J'ai essayé récursive/aller itérativement sur tous les nœuds enfants et essayer de faire correspondre chaque nœud que je veux filtrer un nœud Je ne veux pas , mais j'ai rencontré des problèmes comme trop d'espace ou pas assez d'espace. Je suis sûr qu'il y a une manière assez agréable et rubyesque.
Quel serait un bon moyen de le faire?
S'il vous plaît lire "[demander]", y compris les pages liées, ainsi que "[mcve]". Nous devons voir le code minimum que vous avez écrit qui démontre le problème. Sans cela, on dirait que vous n'avez pas essayé.Si vous connaissez un NodeSet, alors vous devriez avoir vu ['unlink' AKA' remove'] (http://www.rubydoc.info/github/sparklemotion/nokogiri/Nokogiri/XML/NodeSet#remove-instance_method) dans la documentation NodeSet. –