2017-03-20 13 views
3

こんにちはXMLファイルから特定の属性の値を読み込みたいのですが、どのようにFAKEでこれを行いますか?私はちょうど偽のドキュメントページ上でそれを考え出したと私は説明可能ですxmlファイルから属性値を読み取る方法 - FAKE F#MAKE

https://github.com/fsharp/FAKE/blob/master/src/app/FakeLib/XMLHelper.fs#L14-14 

でXMLHelperクラスのXMLRead機能を使用できることがわかった。しかし、私は理解できませんでしたF#とFAKE.Andに新しいです、助けてくださいどのようにそのような例は存在しないので、これを行う。

私は巨大なXMLファイルを持っていますが、わかりやすくするために、そのファイルの一部を言及しています。 XMLファイルは次のとおりです。

<version> 
    <major number="2"> 
    <minor>1</minor> 
    <build>1</build> 
    <revised>1</revised> 
    </major> 
</version> 

上記の属性から値を読み取る方法を教えてください。

答えて

4

いくつかの記事を振り返ってみると、関連する質問があります。 短い答えは、私の「build.fsx」ファイルで、私はこのように気にいらを行うことができるということです。

// Build the main module with MSBuild 
Target "BuildMain" (fun _ -> 
    for s in XMLHelper.XMLRead true "./myxml.xml" "" "" "/version/major/minor" 
    do trace s 
    !! "./Kapoin_03_Main/Kapoin_03_Main.fsproj" 
    |> MSBuild buildDir "Build" buildProps 
    |> Log "Main build output: ") 

ビルド時に、この場合には、単にコンソールに「1」を書き込むこと。

編集:あなたは別のターゲットを使用している場合は、変数として値を格納するために、次の線に沿って何かをしたいことがあります。

let minver = 
    XMLHelper.XMLRead 
    true "./myxml.xml" "" "" "/version/major/minor" 
    |> Seq.head 
+0

こんにちは、努力に感謝、しかし、どのような私は試みは、(ソリューションを構築している間ではなく)別のターゲット内の属性の値を読み取るか、別のスクリプト内にある可能性があります。私はそれらの値を別の.yamlファイルに追加できるように、これらの値を変数に格納したいと思います。 – JFI

+0

@johnfernandesのように、コメントを追加するのではなく、あなたがしようとしていることの詳細をあなたの質問に更新する方がよいでしょう。そうすることで、誰かを助けようとする人は、コメントを通じて追加の詳細を集約しようとする必要はありません。 –

関連する問題