Inno设置:使用StringChangeEx替换XML文件中的字符串

时间:2018-03-16 16:06:01

标签: inno-setup

Inno setup: how to replace a string in XML file?

相关

正如答案中建议我使用的是模板xml,让我们说“app.xml”。我想替换该文件中的字符串:“Dsn = Serverxxx”,其函数结果为“DsnName”{code:DsnName}我在脚本的其他位置使用。

StringChangeEx

我似乎无法让这个工作。上面的代码将如何实现这一目标?而且,使用CACHE MANIFEST CACHE: index.html js/CrosswordController.js js/CrosswordModel.js js/CrosswordView.js js/funcs.js js/jquery.min.js css/bootstrap.css css/bootstrap-grid.css css/bootstrap-reboot.css css/style.css 看起来如何呢?

我知道这可能会被标记为重复,但我无法弄明白。

感谢。

1 个答案:

答案 0 :(得分:0)

我想如果你看看Inno Setup帮助它解释它:

http://www.jrsoftware.org/ishelp/index.php?topic=isxfunc_stringchangeex

  

<强>描述

     

将FromStr中S的所有匹配项更改为ToStr。如果SupportDBCS为True(建议除非您需要二进制安全性),S中的双字节字符序列将被识别并正确处理。否则,该函数以二进制安全的方式运行。返回FromStr匹配和更改的次数。

所以你要做的是:

  1. 将文本文件作为一个长文本字符串读取。
  2. 在字符串中用Yyy更改Xxx的所有实例。
  3. 将字符串保存回文件。
  4. 但是看here它确实说明了:

      

    将指定的二进制或非Unicode文本文件加载到指定的字符串中。如果成功则返回True,否则返回False。

    所以这个函数可能不适合你,因为XML文件通常是Unicode。

    答案here解释道。