0
我已经开始友好教程tutorial on HXT解析与haskell的XML文件。如何在简单的HXT函数中解决这个问题?
在本教程的第一页中,我们尝试从xml文件中检索guest。对此有以下功能。
data Guest = Guest {firstName, lastName :: String}
deriving (Show, Eq)
getGuest = deep (isElem >>> hasName "guest") >>>
proc x -> do
fname <- getText <<< getChildren <<< deep (hasName "fname") -< x
lname <- getText <<< getChildren <<< deep (hasName "lname") -< x
returnA -< Guest {firstName = fname, lastName = lname}
但是当我试图在解释器ghci
中加载文件。我仍然得到这个错误:
Prelude> :l hxt_tuto.hs
hxt_tuto.hs:15:37: parse error on input `->'
Failed, modules loaded: none.
指向一个事实,即运营商- >在表达proc x -> do
有分析错误, 我已经尝试了很多的修改没有帮助。就像把所有这些写在一行中一样
getGuest2 = deep (isElem >>> hasName "guest") >>> proc x -> do { fname <- getText <<< getChildren <<< deep (hasName "fname") -< x; lname <- getText <<< getChildren <<< deep (hasName "lname") -< x; returnA -< Guest {firstName = fname, lastName = lname }}
任何人都可以帮我理解我错过了什么吗?
感谢您的回复!
哦!它与这些线路一起工作,非常感谢 – 2012-03-14 23:10:39