asp.net - 读取字符串中的分号时,nant 脚本中的 xmlpoke 出现问题

标签 asp.net ant web-config nant xmlpoke

我有一个 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>

我可以在 web.config 中 xmlpoke 所有其他“添加键”,但这个除外,所以这不是 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 脚本中的分号。有人知道如何执行此操作或其他操作以使其正常工作吗?

最佳答案

已经过去 16 个小时了,没有人听到任何消息。对我来说幸运的是,经过几个小时的谷歌搜索后我找到了解决方案。

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

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

这归功于我刚刚订阅的 Gary from the nant-users mailing list :)

关于asp.net - 读取字符串中的分号时,nant 脚本中的 xmlpoke 出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3729447/

相关文章:

Asp.net Identity 3 返回 403 未经授权的请求而不是重定向 WebAPI 调用

javascript - MVC 5 JavaScript 缓存

.net - 迁移到IIS 7上的ASP.NET 4.0,并且无法获取自定义错误

asp.net - Membership.GetAllUsers() 无法连接到数据库 ASP.Net Identity MVC 5

c# - asp.net mvc批处理(外部线程)挂起,也许超时?

apache-flex - 如何仅在修改源文件时执行 Ant 任务?

java - Ivy 依赖项(拉入文件目录)

.net - 使用通配符地址时,system.net connectionManagement maxConnection 是每个域还是共享?

c# - ENTER 键按下时的 DropDownList 回发未触发服务器端事件

java - 无法读取 Exec JaCoCo 文件 ANT