F# Xml类型提供程序:"Index was outside the bounds of the array"



我想我一定在对类型提供程序的(有限)理解中缺少一些重要的东西。

XmlProvider 不喜欢此内容,并告诉我Index was outside the bounds of the array我认为这与属性有关:无论如何,如果我删除 X 或 Y,它可以正常工作。

<root>
    <Points>
        <Point X="0.0" Y="2.0"/>
        <Point X="159.3546" Y="3.0"/>
    </Points>
</root>

有什么想法吗?

您使用的是哪个版本的 F# 数据?您如何引用类型提供程序?

我刚刚使用最新版本的 F# 数据(从源代码构建)尝试了以下内容,这工作正常 - 但是,最新版本修复了许多错误,因此很可能这在早期不起作用。您可以使用版本 FSharp.Data 2.0.0-alpha6(在 NuGet 上可用)尝试此操作吗:

#r "System.Xml.Linq.dll"
#r @"C:TomasPublicFSharp.DatabinFSharp.Data.dll"
open FSharp.Data
type X = XmlProvider<"""<root>
    <Points>
        <Point X="0.0" Y="2.0"/>
        <Point X="159.3546" Y="3.0"/>
    </Points>
</root>""">
let x = X.GetSample()
x.Points.GetPoints().[1].X

最新更新