我有一个Xml,其中一个节点如下:
<code>23</code>
FSharp.Data正确推断&#34; Code&#34;的类型成为一个选择int。我的问题是当节点为空时如下:
<code />
我收到以下异常
Value is missing at <StartupCode$FSharp-Data>.$TextRuntime.GetNonOptionalValue@109-4.Invoke(String message) in C:\Git\FSharp.Data\src\CommonRuntime\TextRuntime.fs:line 109
有什么方法可以取回Option.None而不是抛出异常吗?
编辑:对于推断为选项字符串的类型,它按预期工作。
答案 0 :(得分:0)
您尝试了SampleIsList吗?这是一个工作正常的示例。
#r "packages/FSharp.Data/lib/net45/FSharp.Data.dll"
#r "System.Xml.Linq"
open FSharp.Data
type Code = XmlProvider< """<samples><code>123</code><code /></samples>""", SampleIsList=true >
Code.Parse("<code>123</code>") = Some 123 //true
Code.Parse("<code />") = None //true