//br/preceding-sibling::normalize-space(text())
que estoy recibiendo expresión XPath no válido con nokogirinokogiri: ¿por qué es esto un xpath inválido?
//br/preceding-sibling::normalize-space(text())
que estoy recibiendo expresión XPath no válido con nokogirinokogiri: ¿por qué es esto un xpath inválido?
normalizar el espacio es una función. No puedes usarlo allí.
Necesita un conjunto de nodos.
tal vez usted quiere decir
//br/preceding-sibling::*
o puede utilizar normalizar el espacio en un predicado, dentro de corchetes. Piense en el predicado como un filtro o selector en el conjunto de nodos. Así que usted puede hacer esto:
//br/preceding-sibling::*[normalize-space()='Fred']
En Inglés que se traduce en "todos los elementos anteriores <br>
en el documento, y para el cual el texto (normalizado) es 'Fred'". En este documento:
<html>
<p>
<h2>Fred</h2>
<br/>
</p>
<table>
<tr>
<td>
<br/>
</td>
</tr>
</table>
</html>
... la expresión XPath selecciona el nodo <h2>
.
Me di cuenta con el free XpathVisualizer tool available on codeplex.