我想编写一个 Haskell 库来使用 Web 服务 API。我从服务器收到 XML 或 JSON 响应,说它看起来像这样:
<foo>
<bar>1</bar>
<baz>moo</baz>
</foo>
我想把它变成一个记录:
data Foo = Foo {
bar :: Integer,
baz :: String
}
我如何将其抽象化,这样我就不必手动解析 XML 并手动选择各个组件?我希望有一个 API 可以让我描述从 XML 元素和属性到记录部分的映射,并为我完成剩下的工作。