2009-04-10 10 views

答えて

12
<?xml version="1.0" encoding="utf-8" ?> 
<project xmlns="http://nant.sf.net/release/0.86-beta1/nant.xsd" 
     name="Company.Portal.Domain" default="GetFile"> 
    <call target="GetFile" /> 
    <target name="GetFile"> 
    <echo message="Retrieving file contents"/> 
    <property name="file.contents" value="0" /> 
    <loadfile file="file.txt" property="file.contents" /> 
    <property name="file.contents" value="${string::trim(file.contents)}" /> 
    <echo message="contents of file is ${file.contents}"/> 
    </target> 
</project> 

マディあなたがしたい場合は、ライン6、9および10を省略することができますもちろん。 [編集]

<if test="${file.contents=='someValue'}"> 
    <echo>Some value found</echo> 
</if> 

this link

で詳細を見る[EDIT2]

テキストファイルの3行目の値を取得したいので、この

<?xml version="1.0"?> 
<project name="Read3rdLine" default="main"> 
    <property name="myInt" value="0"/> 
    <property name="x" value="0"/> 
    <property name="LineToRead" value="3"/> 

    <target name="main" description="compiles the source code"> 
    <property name="i" value="0"/> 
    <foreach item="Line" in="file.txt" property="x" trim="Both"> 
     <property name="i" value="${int::parse(i) + 1}"/> 
     <if test="${i==LineToRead}"> 
      <property name="myInt" value="${x}"/> 
     </if> 
    </foreach> 
    <echo>found ${myInt} at line ${LineToRead}</echo> 
    </target> 
</project> 
を行います
+0

おかげでたくさんの内側に(?) binoj.Justもう一つの疑問を持っていますか?私は本当にナントに新しいです。私はこのfile.txtの値を持っています。これは上記のurコードから見て読んでいます。今は固定値と比較して検証したいこの値が大きければ、私はいくつかのチェックを行います。 – Maddy

+0

それは –

+0

になります。それは素晴らしい作品です!私はデータベースからファイルに書き込んだり、antを使ってこの値を変数に保存してexecコマンドで使用します。 – PHPGuru

0

正規表現を使用すると、特定の場所にある行に頼るのではなく、簡単にコーディングできるため、正規表現を使用する方が柔軟性があることがわかりました。

<loadfile file="${filename}" property="assemblyInfo" /> 
<regex input="${assemblyInfo}" pattern="(?'assemblyVersion'AssemblyVersion[0-9.()&quot;]+)" /> 

構文は少し奇妙ですが、2行目の結果は、正規表現のグループ化パターンにマッチした文字列でプロパティ呼び出しassemblyVersionを移入することです:すべてを

関連する問題