F# 如何构建xml REST API f类型提供程序?

F# 如何构建xml REST API f类型提供程序?,f#,type-providers,F#,Type Providers,我想为网站构建一个f类型的提供者,比如说Teamcity,它有一个REST API: type teamcity = TeamCity<"host", port, "user", "password"> let context = teamcity.GetContext() printfn "%d" context.Server.VersionMajor for p in context.Server.Projects do printfn "%s" p.Name (* ...

我想为网站构建一个f类型的提供者,比如说Teamcity,它有一个REST API:

type teamcity = TeamCity<"host", port, "user", "password">
let context = teamcity.GetContext()
printfn "%d" context.Server.VersionMajor
for p in context.Server.Projects do
  printfn "%s" p.Name
(* ... *)
请告诉我这是不是一条路:

我不能使用XmlProvider,因为它需要样本,而且很难为完整的API生成完整的样本。为了完整起见,我使用rest-api.jar和JAXB生成了一个xsd模式。 我可以通过解析xsd生成ProvidedTypeDefinitions。 对于每个RESTAPI调用:我得到一个xml。xml根元素为我提供了提供的TypeDefinition的名称。我使用xml作为参数创建ProvidedTypeDefinition的实例,或者使用xml数据(如数组)创建某个运行时类型 我不需要在运行时程序集中为每个REST API类型Server/Build/Project/等实现记录类型,因为我可以使用提供的类型定义创建实例。 另外,FSharp.Data中是否有我可以重用的轮子


提前感谢您的帮助

这个TypeProvider项目值得一看:谢谢@sgtz我会看一看的