2010-09-16 2 views
2

J'ai un script nante qui tente de modifier une valeur d'URL dans mon web.config, mais Nant continue à lancer cette erreur:problèmes avec xmlpoke dans le script nante lors de la lecture d'un point-virgule dans une chaîne

'=' is an unexpected token. The expected token is ';'. Line 1, position 80. 

Je traçais au point-virgule dans l'URL du script nant. La raison pour laquelle j'ai un point-virgule dans l'URL en premier lieu est parce que le web.config n'aime pas les esperluettes (&). J'ai donc dû remplacer & par &. Voici ma valeur web.config:

<appSettings> 
    <add key="myUrl" value="http://www.google.com/whatever?id=myId&amp;fullScreen=1"/> 
</appSettings> 

Je suis en mesure de xmlpoke tous les autres « ajouter des clés » 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&amp;fullScreen=2"/> 

<xmlpoke 
    file="${config.file}" 
    xpath="/configuration/appSettings/add[@key = 'myUrl']/@value" 
    value="${myUrl}">  
</xmlpoke> 

Le problème est pas avec le point-virgule dans le web.config, mais avec le point-virgule dans le script Nant. Je suppose que j'ai besoin d'échapper d'une manière ou d'une autre au point-virgule dans le script nant. Quelqu'un sait-il comment faire cela ou quelque chose d'autre pour le faire fonctionner?

Répondre

5

Il a été 16 heures et pas un coup d'oeil de personne. Heureusement pour moi j'ai trouvé la solution après quelques heures de googling.

La solution est d'utiliser &amp;amp;. Je n'ai aucune idée pourquoi le supplément amp; mais cela a fonctionné. Alors maintenant, mon script Nant ressemble à ceci:

<property name="myUrl" value="http://www.google.com/whatever?id=123456&amp;amp;fullScreen=2"/> 

Le crédit va à Gary from the nant-users mailing list, que je viens abonné à :)

Questions connexes