//br/preceding-sibling::normalize-space(text())
Je reçois l'expression XPath invalide avec nokogiri normalize-spacenokogiri: pourquoi est-ce un xpath invalide?
//br/preceding-sibling::normalize-space(text())
Je reçois l'expression XPath invalide avec nokogiri normalize-spacenokogiri: pourquoi est-ce un xpath invalide?
est une fonction. Vous ne pouvez pas l'utiliser ici.
Vous avez besoin d'un ensemble de nœuds.
peut-être vous dire
//br/preceding-sibling::*
ou vous pouvez utiliser Normaliser l'espace dans un prédicat, entre crochets. Considérez le prédicat comme un filtre ou un sélecteur sur l'ensemble de nœuds. Donc, vous pouvez le faire:
//br/preceding-sibling::*[normalize-space()='Fred']
en anglais qui se traduit par « tous les éléments précédents <br>
dans le document, et pour lequel le (normalisé) le texte est« Fred ». Dans ce document:
<html>
<p>
<h2>Fred</h2>
<br/>
</p>
<table>
<tr>
<td>
<br/>
</td>
</tr>
</table>
</html>
... l'expression XPath sélectionne le nœud <h2>
.
J'ai compris cela avec le free XpathVisualizer tool available on codeplex.