2016-08-25 5 views
1

ANT replaceregexpタスクを使用してxml要素の値を "true"から "false"に変更しようとしていますが、新しい行に一致するのが困難です。問題のXMLノードの関連部分:私のテキストエディタ(崇高)でant replaceregexp xml newline

<validationRules> 
    <fullName>CAReversaApprovallLockdown</fullName> 
    <active>true</active> 

は、私は、検索/置換するには、以下の正規表現を使用することが、私はこの中を複製する方法を見つけ出すことはできませんANT replaceregexp:

/fullname>\n  <active>true 

私は改行し、その後の間隔の組み合わせと一致するように、正しい構文を把握することはできません。改行後のスペースは、物事を簡単にする場合は常に同じです。

投稿者https://ant.apache.org/manual/Tasks/replaceregexp.html私は^と$の組み合わせをmフラグ、\ s +などで試しましたが、ちょうど右のコンボを打つことはできません。

私の現在の進行状況は以下の通りですが、運、残念ながら...

<target name="deactivate_val_rules"> 
    <echo message="deactivating validation rules..." /> 
    <replaceregexp match="/fullname&gt;\r\n\s+&lt;active&gt;true" flags="gim" byline="false"> 
     <substitution expression="/fullname&gt;\r\n  &lt;active&gt;false"/> 
     <fileset dir="src\objects" includes="Claim_Approvals__c.object"/> 
    </replaceregexp> 
</target> 

答えて

0

がそれを手に入れた - 以下は、正しい結果が得られた:デフを介して見たときの出力である

<target name="deactivate_val_rules"> 
    <echo message="deactivating workflows..." /> 
    <replaceregexp match="/fullname&gt;\r\n\s+&lt;active&gt;true" flags="gis" byline="false"> 
     <substitution expression="/fullname&gt;${line.separator}  &lt;active&gt;false"/> 
     <fileset dir="src\objects" includes="Claim_Approvals__c.object"/> 
    </replaceregexp> 
</target> 

を:

- <fullName>the_name</fullName> 
    - <active>true</active> 
    + <fullName>the_name</fullname> 
    + <active>false</active> 
0

あなたが参照として変更する値を定義する必要がありreplaceregexpを使用します。例について

<validationRules> 
    <fullName>CAReversaApprovallLockdown</fullName> 
    <active>true</active> 

アリ:

<target name = "deactivate_val_rules"> 
    <echo message="deactivating validation rules..." /> 
    <replaceregexp file="${FILE_LOACTION}/FILE_NAME.FILE_EXT" match="true" replace="false" /> 
</target> 
+0

要素を探しているネストされたファイルディレクトリをすべてスキャンし、その値を置き換える必要がありますか? –

+0

要素を持つ他のノードが存在するため、trueをfalseで単純に置き換えることはできません。ファイル内の一番小さな一意の値は、要素であり、新しい行に nom

関連する問題