F# 在 PCL 项目中使用 XMLProvider
F# Using XMLProvider in PCL Project
我针对 4.5.1 创建了一个新的 VS2015 F# PCL 项目。我添加了 FSharp.Data 并获得了 XML 类型的提供程序来下拉数据:
#r "..\packages\FSharp.Data.2.2.5\lib\portable-net40+sl5+wp8+win8\FSharp.Data.dll"
open System.IO
open FSharp.Data
let baseDirectory = __SOURCE_DIRECTORY__
let baseDirectory' = Directory.GetParent(baseDirectory)
type Campaign = XmlProvider<"../Data/Campaign.xml">
let filePath = "Data\Campaign.xml"
let fullPath = Path.Combine(baseDirectory'.FullName, filePath)
let campaignText = File.ReadAllText(fullPath)
let campaigns = Campaign.Parse(campaignText)
当我尝试在结果上打点时,它告诉我需要添加对 System.Xml.Linq 的引用。但是,我无法将该库添加到 PCL 项目中。有什么方法可以解析数据吗?
只需在脚本文件中添加对 System.Xml.Linq 的引用,如下所示:
#r "packages\FSharp.Data.2.2.5\lib\portable-net40+sl5+wp8+win8\FSharp.Data.dll"
#r "System.Xml.Linq"
我针对 4.5.1 创建了一个新的 VS2015 F# PCL 项目。我添加了 FSharp.Data 并获得了 XML 类型的提供程序来下拉数据:
#r "..\packages\FSharp.Data.2.2.5\lib\portable-net40+sl5+wp8+win8\FSharp.Data.dll"
open System.IO
open FSharp.Data
let baseDirectory = __SOURCE_DIRECTORY__
let baseDirectory' = Directory.GetParent(baseDirectory)
type Campaign = XmlProvider<"../Data/Campaign.xml">
let filePath = "Data\Campaign.xml"
let fullPath = Path.Combine(baseDirectory'.FullName, filePath)
let campaignText = File.ReadAllText(fullPath)
let campaigns = Campaign.Parse(campaignText)
当我尝试在结果上打点时,它告诉我需要添加对 System.Xml.Linq 的引用。但是,我无法将该库添加到 PCL 项目中。有什么方法可以解析数据吗?
只需在脚本文件中添加对 System.Xml.Linq 的引用,如下所示:
#r "packages\FSharp.Data.2.2.5\lib\portable-net40+sl5+wp8+win8\FSharp.Data.dll"
#r "System.Xml.Linq"