首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Ant xmltask编辑配置文件

使用Ant xmltask编辑配置文件
EN

Stack Overflow用户
提问于 2014-11-26 15:53:30
回答 1查看 308关注 0票数 1
代码语言:javascript
复制
<configuration>
  <userSettings>
        <IntegrationTests.Resources.IntegrationTests>
            <setting name="UserAppPath" serializeAs="String">
                <value>C:\Program Files (x86)\App\</value>
            </setting>
            <setting name="LogFilePath" serializeAs="String">
                <value>C:\logfiles\</value>
            </setting>
        </IntegrationTests.Resources.IntegrationTests>
  </userSettings>
</configuration>

我有上面的xml文件,我希望我的构建作业在作业期间动态编辑这些路径值如果设置名称为UserAppPath,则使用正确的路径更新相同的值标记如果设置为LogFilePath,则编辑基于从文件的日志文件路径我有chosen...like明智我可能有n个设置,但可能只对其中的一小部分感兴趣。我已经尝试过替换,插入ant xmltask的ask。但并没有解决我的问题...任何帮助我们都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2014-11-26 20:33:07

您可以在filterset中使用copy来实现这一点。

将你的变量放在一个属性文件中,例如

代码语言:javascript
复制
user.app.path=C:\\Program Files (x86)\\App\\
logfile.path=C:\\logfiles\\

创建配置文件的模板版本,例如

代码语言:javascript
复制
<configuration>
  <userSettings>
        <IntegrationTests.Resources.IntegrationTests>
            <setting name="UserAppPath" serializeAs="String">
                <value>@user.app.path@</value>
            </setting>
            <setting name="LogFilePath" serializeAs="String">
                <value>@logfile.path@</value>
            </setting>
        </IntegrationTests.Resources.IntegrationTests>
  </userSettings>
</configuration>

在构建文件中,创建配置文件的一个版本,将模板版本中的占位符替换为filterset:

代码语言:javascript
复制
<project name="test" default="test">
  <target name="test">
    <copy file="config_template.xml" tofile="config.xml">
      <filterset begintoken="@" endtoken="@">
        <filtersfile file="config.properties" />
      </filterset>
    </copy>
  </target>
</project>
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27143823

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档