packages feed

hxt-css-0.1.0.0: examples/hxt-css.hs

import System.Environment
import Text.XML.HXT.Core hiding (xshow)
import Text.XML.HXT.DOM.ShowXml

import Text.XML.HXT.CSS

main :: IO ()
main = do
    args <- getArgs
    case args of
        [path, sel] -> run path sel
        _ -> do
            prog <- getProgName
            putStrLn $ "Usage: " ++ prog ++ " PATH CSS_SELECTOR"

run :: FilePath -> String -> IO ()
run path sel = do
    let doc = readDocument [withParseHTML yes, withWarnings no] path
    elts <- runX $ doc >>> css sel >>> processChildren none
    mapM_ (\elt -> putStrLn (xshow [elt])) elts
    putStrLn $ "\nFound " ++ show (length elts) ++ " elemement(s)"