XPath: Trouver un nœud dans un nœud de texte

voix
1

J'ai le code HTML suivant:

<code>The first code block</code>
<p>Some text and <code>the second code block</code> followed by other text</p>

Je dois trouver et supprimer tous les codeblocs de celui - ci. J'utilise le XPath suivant '//code', mais il ne trouve que le premier bloc de code tandis que le second reste.

Question: Pourquoi '//code'n'est pas capable d'attraper le deuxième bloc de code? Comment le réparer?

Détails: Je le fais en Ruby utilisant Nokagiry. Mon code ressemble à ceci:

html = Nokogiri::HTML(File.read(htmlFile))
html.search('//code').remove

METTRE À JOUR:

Le XPath a travaillé en fait. Je viens de faire une erreur dans un endroit différent.

Créé 07/11/2018 à 20:23
source utilisateur
Dans d'autres langues...                            


1 réponses

voix
1

On dirait que vous oubliez iterator ...
Essayez:

html = Nokogiri::HTML(File.read(htmlFile))
html.search('//code').each{|htm| htm.remove}
Créé 08/11/2018 à 02:10
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more