如何在ant脚本中的复制任务中使用for循环

时间:2013-09-30 22:02:54

标签: ant

我有一个包含一些变量的文件,我想将每一行复制到其他文件,除了 type = Password 的行。

这是示例文件。

<Environment xsi:type="amxdata:Environment" name="@AMX_ENVIRONMENT_NAME@">  
    <SVar xsi:type="amxdata_base:SubstitutionVariable" name="FF_JDBC_USERNAME" type="String" value="@SVAR_ENV_JDBC_USERNAME@" />
    <SVar xsi:type="amxdata_base:SubstitutionVariable" name="FF_JDBC_PASSWORD" type="Password" value="@SVAR_ENV_JDBC_PASSWORD@" />
        <SVar xsi:type="amxdata_base:SubstitutionVariable" name="MON_JMS_USERNAME" type="String" value="@MON_EMS_USER@" />
    <SVar xsi:type="amxdata_base:SubstitutionVariable" name="MON_JMS_PASSWORD" type="Password" value="@MON_EMS_PASSWORD@" />        
    </Environment>

输出文件:

<Environment xsi:type="amxdata:Environment" name="@AMX_ENVIRONMENT_NAME@">  
    <SVar xsi:type="amxdata_base:SubstitutionVariable" name="FF_JDBC_USERNAME" type="String" value="@SVAR_ENV_JDBC_USERNAME@" />
        <SVar xsi:type="amxdata_base:SubstitutionVariable" name="MON_JMS_USERNAME" type="String" value="@MON_EMS_USER@" />
</Environment>

1 个答案:

答案 0 :(得分:0)

这就是我完成任务的方式。它将in.xml读入属性xml-content,不包括type="Password"的行,并将新内容打印到out.xml

<target name="strip-passwords">
  <loadfile property="xml-content" srcFile="in.xml" >
    <filterchain>
      <linecontainsregexp negate="true"> 
        <regexp pattern="\Qtype=&quot;Password&quot;\E"/> 
      </linecontainsregexp>
    </filterchain>
  </loadfile>
  <echo message="${xml-content}" file="out.xml"/>
</target>