使用伪F#MAKE更新XML文件

使用伪F#MAKE更新XML文件,f#,f#-3.0,f#-fake,F#,F# 3.0,F# Fake,如何使用FAKE更新XML文件中的属性 我想从fake更新一个xml文件。实际上,teamcity没有生成任何类型的版本,我必须更新version.config文件中的版本号 我已经看到可以使用XMLHelper类来完成,但我不知道如何使用它 以下是xml文件: <?xml version="1.0" encoding="UTF-8"?> <version-info> <major-version number="1"> <minor>

如何使用FAKE更新XML文件中的属性

我想从fake更新一个xml文件。实际上,teamcity没有生成任何类型的版本,我必须更新version.config文件中的版本号

我已经看到可以使用XMLHelper类来完成,但我不知道如何使用它

以下是xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<version-info>
  <major-version number="1">
    <minor>1-aplha</minor>
    <build>123</build>
    <revision>112</revision>
  </major-version>
</version-info>

1-aplha
123
112
例如:我需要将主要版本、次要版本、构建版本、修订版本分别更改为2、1、12、123


我将如何做到这一点???

我对我的“build.fsx”文件进行了快速编辑。编辑如下所示:

// Build the main module with MSBuild
Target "BuildMain" (fun _ ->
  XMLHelper.XmlPokeInnerText "./myxml.xml" "/version-info/major-version/minor" "now-beta"
  !! "./Kapoin_03_Main/Kapoin_03_Main.fsproj"
  |> MSBuild buildDir "Build" buildProps
  |> Log "Main build output: " )
<?xml version="1.0" encoding="UTF-8"?>
<version-info>
  <major-version number="1">
    <minor>now-beta</minor>
    <build>123</build>
    <revision>112</revision>
  </major-version>
</version-info>
在构建过程中,它编辑“myxml.xml”,并替换次要标记中的值。编辑后的XML如下所示:

// Build the main module with MSBuild
Target "BuildMain" (fun _ ->
  XMLHelper.XmlPokeInnerText "./myxml.xml" "/version-info/major-version/minor" "now-beta"
  !! "./Kapoin_03_Main/Kapoin_03_Main.fsproj"
  |> MSBuild buildDir "Build" buildProps
  |> Log "Main build output: " )
<?xml version="1.0" encoding="UTF-8"?>
<version-info>
  <major-version number="1">
    <minor>now-beta</minor>
    <build>123</build>
    <revision>112</revision>
  </major-version>
</version-info>

现在测试版
123
112

我想我可能有三分之一的答案。我希望其他人可以添加另外三分之二:-)正如您已经注意到的,Fake有一个模块,其函数为
XmlPoke fileName xpath value
,描述如下:“在xpath表达式指定的位置替换XML文件中的文本。”。您是否已经有“build.fsx”文件?