如何从xml文件中读取属性值 - FAKE F#MAKE

时间:2017-03-20 12:37:47

标签: f# f#-fake

您好我有一个XML文件,我想从XML文件中读取特定属性的值,我将如何在FAKE中执行此操作。请帮助,我是F#和FAKE的新手。我刚刚在假文档页面上找到它并发现我可以使用XMLHelper类的XMLRead函数,其描述可在

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

但我无法理解如何做到这一点,因为没有这样的例子。

我有一个巨大的XML文件,但为了简单起见,我提到了一个该文件。 XML文件如下:

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

请告诉我,如何从提到的属性中读取值。

1 个答案:

答案 0 :(得分:3)

如果你回顾一些帖子,你可以找到一个相关的问题。 简短的回答是,在我的'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