4 votes

Comment utiliser un caractère spécial dans un contenu xpath ?

Comment sélectionner un xpath qui contient un texte avec "" ?

Disons que mon texte sur la page est : "mon texte" (y compris le "").

Quand je fais le xpath, je le fais dans VS :

"//td[contains(.,'"mytext">')]"

Mais VS ne voit pas cela comme correct car il affiche mon texte en blanc comme s'il n'appartenait pas au xpath.

Il indique qu'il s'agit d'une erreur de syntaxe et qu'il attend un ','.

Donc comment faire un xpth qui utilise un contain où le texte a un "".

2voto

Andrei U Points 1128

La réponse est assez simple, il suffit d'échapper aux caractères de guillemets doubles :

"//td[contains(.,'\"mytext\">')]"

Il s'agit d'une référence des caractères qui doivent être échappés : https://blogs.msdn.microsoft.com/csharpfaq/2004/03/12/what-character-escape-sequences-are-available/

J'espère que cela vous aidera.

1voto

kjhughes Points 5581

Si le contexte de votre XPath est XML, échappez les guillemets doubles avec " :

//td[contains(.,'"mytext">')]

Voir aussi Échappatoire XML simplifié

Si le contexte de votre XPat n'est pas XML, vous pouvez essayer

//td[contains(.,concat('"','mytext', '"', '>'))]

pour voir si VS est plus satisfait de cette expression, ou définir une variable séparée pour " et construisez votre XPath par morceaux à partir de cette constante.

Si cela ne vous aide pas dans votre contexte, consultez le site suivant Comment échapper aux guillemets simples dans la fonction substring de xslt ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X