我想知道用XmlReader读取XML在惯用的功能样式中会是什么样。即应该如何对待XmlReader作为有状态实体。有没有很好的例子?

最佳答案

我想说XmlReader是一个很好的选择,如果您需要处理一个大型XML文档而不读取整个文档在内存中(即流处理)。它不是特别有用,但是很好-在F#中执行I / O时,您不需要以功能性方式编写代码,因为这对于I / O总是很棘手的(并非没有,但F#用户只是倾向于使用标准.NET库)。

如果您的文件适合内存并且具有相当规则的结构,那么John提到的XML类型提供程序是最佳选择。调用提供程序时,可以给它提供一个示例XML文件,提供程序可以推断结构,并且可以以一种很好的键入方式读取XML。

如果您有结构复杂的不规则文件(例如XHTML),则可以使用XDocument类型(它的API比XmlDocument更现代,可以从F#中轻松使用)。

09-10 06:02
查看更多