我正在尝试使用 FSharp.Data
第三方库,但在 The type 'XmlProvider' is not defined
类上收到错误 XmlProvider
。
namespace KMyMoney
open FSharp.Data
module Read =
let xml = File.ReadAllText("KMyMoneySampleFile.xml")
type KMyMoneySource = XmlProvider<xml>
我正在使用 NuGet 来获取库。库是“FSharp.Data 1.1.8”
当我输入
FSharp.Data.
时,会给出四个选项: Csv
、 FreebaseOperators
、 Json
和 RuntimeImplementation
。我错过了什么吗?我对 F# 比较陌生。所以,对不起,这个简单的问题。我查看了 GitHub,但没有看到任何提及此问题的内容。我正在用 F# 创建一个库。
最佳答案
<>
之间的参数是类型提供程序的 Sample
参数,必须是编译时常量。该示例用于推断 xml 的结构。
试试这个:
namespace KMyMoney
open FSharp.Data
module Read =
type KMyMoneySource = XmlProvider<"KMyMoneySampleFile.xml">
然后做
let xml = KMyMoneySource.Load("KMyMoneySampleFile.xml")
或者,如果您正在读取用作 XmlProvider 示例参数的相同文件,请执行以下操作:
let xml = KMyMoneySource.GetSample()
请注意,类型提供程序是 F# 3.0 的一项功能,因此这只适用于 VS2012 或更高版本。如果你使用 VS2010,你只会得到一堆语法错误。
关于f# - 'XmlProvider' 类型未定义,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17625514/