.net 在Fsharp中将XML文件转换为CSV文件

.net 在Fsharp中将XML文件转换为CSV文件,.net,xml,csv,f#,type-providers,.net,Xml,Csv,F#,Type Providers,我正在使用Fsharp脚本,并试图找到一种将数据从XML文件转换为CSV文件的方法 我从使用typeprovider读取XML文件开始,之后我想使用ServiceStack.Text serializer,但当然数据还没有准备好,因为我仍然有一个XmlProvider 我可能是从错误的角度看待这个问题。有什么见解吗?如果要使用XML和CSV类型提供程序,可以定义两种类型—一种是基于示例表示输入,另一种是基于显式模式表示输出 假设test.xml如下所示: <data> <i

我正在使用Fsharp脚本,并试图找到一种将数据从XML文件转换为CSV文件的方法

我从使用typeprovider读取XML文件开始,之后我想使用ServiceStack.Text serializer,但当然数据还没有准备好,因为我仍然有一个XmlProvider


我可能是从错误的角度看待这个问题。有什么见解吗?

如果要使用XML和CSV类型提供程序,可以定义两种类型—一种是基于示例表示输入,另一种是基于显式模式表示输出

假设
test.xml
如下所示:

<data>
  <item foo="1" bar="2" />
  <item foo="1" bar="3" />
</data>
现在,您可以将输入数据转换为输出行,将它们添加到新的空CSV文件中,并使用
SaveToString
将其保存到字符串中,或仅使用
save
将其保存到文件中:

let newRows =
  [ for r in Input.GetSample().Items ->
      Output.Row(r.Foo, r.Bar) ]

Output.GetSample().Append(newRows).SaveToString()
let newRows =
  [ for r in Input.GetSample().Items ->
      Output.Row(r.Foo, r.Bar) ]

Output.GetSample().Append(newRows).SaveToString()