0

我有一个包含一些变量的文件,我想将每一行从这个文件复制到其他文件,除了具有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>
4

1 回答 1

0

这就是我将如何完成你的任务。它读in.xmlxml-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>
于 2013-09-30T22:32:14.073 回答