我想编写一个Haskell库来处理Web服务API。我从服务器获得XML或JSON响应,说它看起来像这样:
<foo>
<bar>1</bar>
<baz>moo</baz>
</foo>
我想把它变成一张唱片:
data Foo = Foo {
bar :: Integer,
baz :: String
}
如何对其进行抽象,以便我不必手动解析XML并手动选择各个组件?我希望有一个API可以让我描述从XML元素和属性到记录部分的映射,并为我做其余的事情。