Skip to content

Instantly share code, notes, and snippets.

@axelerator
Created December 14, 2010 11:55
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save axelerator/740320 to your computer and use it in GitHub Desktop.
Save axelerator/740320 to your computer and use it in GitHub Desktop.
first steps
{-# LANGUAGE Arrows #-}
module Pickle where
import Control.Arrow
import Control.Arrow.ListArrow
import Text.XML.HXT.Arrow.Pickle
import Text.XML.HXT.Arrow.ReadDocument
data Strukt = Strukt {
text :: String
} deriving (Show, Eq)
main = do
putStrLn $ show $ load xml1
xml1 = "<strukt>ssss</strukt>"
instance XmlPickler Strukt where
xpickle = xpStrukt
xpStrukt :: PU Strukt
xpStrukt = xpElem "strukt" $ xpWrap (Strukt, text) $ xpText
load = listToMaybe . (runLA $ xread >>> (xunpickleVal xpStrukt))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment