我惊喜地发现 XmlProvider 试图推断类型。但是我遇到了一个问题。有一个值为 5.25.2 的 xml 元素。我希望它的类型是字符串。但是 XmlProvider 似乎将其推断为 DateTime。
有没有办法覆盖特定 xml 元素的类型?
目前,我正在通过设置 InferTypesFromValues=false 来变通。
> sample.Scan.ScannerVersion.Value;;
val it : System.DateTime =
5/25/2002 12:00:00 AM {Date = 5/25/2002 12:00:00 AM;
Day = 25;
DayOfWeek = Saturday;
DayOfYear = 145;
Hour = 0;
Kind = Local;
Millisecond = 0;
Minute = 0;
Month = 5;
Second = 0;
Ticks = 631578816000000000L;
TimeOfDay = 00:00:00;
Year = 2002;}
最佳答案
在我看来你的选择是:
- 提供您自己的 xml 片段作为规范,以便您可以更好地影响推断类型。
- 将
InferTypesFromValues=false
参数用于XmlProvider
,以便所有属性都是string
类型。
在第二种情况下,这可能看起来像
type Things = XmlProvider<MySample, InferTypesFromValues=false>
希望对您有所帮助。
关于f# - Fsharp.Data XmlProvider 对 DateTime 的类型推断不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42048139/