2009-10-11 8 views

Répondre

10

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.

enter image description here