problèmes avec xmlpoke dans le script nante lors de la lecture d'un point-virgule dans une chaîne
-
03-10-2019 - |
Question
J'ai un script nante qui tente de modifier une valeur d'URL dans mon web.config mais Nant lancer cette erreur motive:
'=' is an unexpected token. The expected token is ';'. Line 1, position 80.
Je l'a tracée jusqu'à la virgule dans l'URL du script Nant. La raison pour laquelle j'ai un point-virgule dans l'URL en premier lieu parce que le web.config ne aime pas esperluette (&). Donc, je devais remplacer et avec &
. Voici ma valeur web.config:
<appSettings>
<add key="myUrl" value="http://www.google.com/whatever?id=myId&fullScreen=1"/>
</appSettings>
Je suis en mesure de xmlpoke tous les autres « touches ajouter » dans le web.config mais celui-ci, il est donc pas un problème de XPath. Voici le script Nant:
<property name="myUrl" value="http://www.google.com/whatever?id=123456&fullScreen=2"/>
<xmlpoke
file="${config.file}"
xpath="/configuration/appSettings/add[@key = 'myUrl']/@value"
value="${myUrl}">
</xmlpoke>
Le problème est donc pas le point-virgule dans le web.config, mais avec le point-virgule dans le script Nant. Je suppose que je dois échapper en quelque sorte le point-virgule dans le script Nant. Quelqu'un sait comment faire cela ou autre chose pour le faire fonctionner?
La solution
Il a été 16 heures et pas un peep de personne. Heureusement pour moi, je l'ai trouvé la solution au bout de quelques heures de googler.
La solution est d'utiliser &amp;
. Je ne sais pas pourquoi le amp;
supplémentaire, mais cela a fonctionné.
Alors maintenant, mon script Nant ressemble à ceci:
<property name="myUrl" value="http://www.google.com/whatever?id=123456&amp;fullScreen=2"/>
Le crédit va à Gary du nant- la liste de diffusion , que je viens abonné à:)