質問

私はフレンドリーなチュートリアルを始めました XMLファイルを解析するにはHaskell。

チュートリアルの最初のページで、XMLファイルからゲストを取得しようとします。そのための次の機能があります。

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.
.

Expression 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 }}
.

誰かが私が逃したものを理解するのを手伝ってくれる?

返信をありがとう!

役に立ちましたか?

解決

を載せることを忘れましたか
{-# LANGUAGE Arrows, NoMonomorphismRestriction #-}
import Text.XML.HXT.Core
.

あなたのファイルの上部に?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top