2

我有一个 nant 脚本试图更改我的 web.config 中的 URL 值,但 Nant 不断抛出此错误:

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

我将其追溯到 nant 脚本的 URL 中的分号。我首先在 URL 中使用分号的原因是 web.config 不喜欢与符号 (&)。所以我不得不将 & 替换为&. 这是我的 web.config 值:

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

我可以 xmlpoke web.config 中的所有其他“添加键”,但这个不是 xpath 问题。这是 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>

所以问题不在于 web.config 中的分号,而在于 nant 脚本中的分号。我想我需要以某种方式转义 nant 脚本中的分号。任何人都知道如何执行此操作或其他方法以使其正常工作?

4

1 回答 1

5

已经16个小时了,没有人偷看。对我来说幸运的是,经过几个小时的谷歌搜索,我找到了解决方案。

解决方案是使用&amp;amp;. 我不知道为什么额外的amp;但它起作用了。所以现在我的 nant 脚本看起来像这样:

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

功劳来自我刚刚订阅的 nant-users 邮件列表中的 Gary :)

于 2010-09-17T15:23:46.190 回答