Fsharp.Data XmlProvider对DateTime的类型推断不正确

时间:2017-02-05 03:06:54

标签: f# f#-data

我惊喜地发现XmlProvider试图推断类型。但我遇到了一个问题。有一个xml元素,其值为5.25.2。我希望它的类型是字符串。但是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;}

1 个答案:

答案 0 :(得分:1)

在我看来,您可以选择:

  • 提供您自己的xml代码段作为规范,以便您可以更好地影响推断的类型。
  • InferTypesFromValues=false参数用于XmlProvider,以便所有属性都属于string类型。

在第二种情况下,这可能看起来像

type Things = XmlProvider<MySample, InferTypesFromValues=false>

我希望这会有所帮助。