【问题标题】:mapping xml node to user defined data type in F#在 F# 中将 xml 节点映射到用户定义的数据类型
【发布时间】:2013-01-22 22:55:34
【问题描述】:

尝试将 XML 文件(例如销售记录列表)转换为 F# 中的 type_sales 列表。 但我不想写类似的东西: xmlnode.product = typesales.product xmlnode.price = typesales.price ...等

我想要一些代码,只需要(“产品”,“价格”,...等)并进行映射,类似于 lisp 宏

我可以在 f# 中执行此操作吗?

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

感谢 KVB 提供链接。对 F# 来说非常新,当我在 F# 中使用这个 XML 文件时弹出了这个问题,但现在我想我的一般问题是:F# 在 lisp 中有类似宏的东西吗?

【问题讨论】:

标签: xml macros f#


【解决方案1】:

有一个可能有用的 F# XML 类型提供程序:

http://fsharp.github.io/FSharp.Data/library/XmlProvider.html

在编译时给定一个 XML 文件,它会生成所需的类型,以便以静态类型的方式访问文档。

type Author = XmlProvider<"""<author name="Paul Feyerabend" born="1924" />""">
let sample = Author.Parse("""<author name="Karl Popper" born="1902" />""")

printfn "%s (%d)" sample.Name sample.Born

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-08
    • 2011-09-28
    • 1970-01-01
    • 1970-01-01
    • 2016-08-12
    • 1970-01-01
    相关资源
    最近更新 更多