1

我正在制作一个使用大量需要在项目之间共享的字符串的解决方案。因此,为了避免拼写错误,我正在制作一个 XML 文件,其中包含所有这些字符串供其他项目访问......

为此,我当然需要一个 XML Deserializer 来将我的 xml 数据转换为对象......

我的 XML 文件如下所示:

<?xml version="1.0" encoding="utf-8" ?>
<Strings>
    <String Name="string1">foo</String>
    <String Name="string2">bar</String>
    <String Name="string3">baz</String>
</Strings>

我需要能够像这样访问我的数据:string1.Value. 即以属性为对象名,以数据为数据...

我将如何在 F# 中执行此操作?最好为此使用 XDocument 或 XmlSerializer 吗?

4

1 回答 1

0

有一个可能有用的 F# XML 类型提供程序:

http://fsharp.github.io/FSharp.Data/library/XmlProvider.html

在编译时给定一个 XML 文件,它将生成以静态类型方式访问文档所需的类型。

type Author = XmlProvider<"""<author name="Paul Feyerabend" born="1924" />""">
let sample = Author.Parse("""<author name="Karl Popper" born="1902" />""")

printfn "%s (%d)" sample.Name sample.Born
于 2013-11-03T12:50:38.163 回答