I've just tried:

  import Text.HTML.TagSoup
  import Text.HTML.TagSoup.Tree

  main :: IO ()
main = getContents >>= putStr . renderTags . flattenTree . tagTree . parseTags

which also ends with the getMBlock error.
Only "renderTags . parseTags" works fine (like the hexpat SAX parser).

Why should tagsoup be better suited for building trees from large files?

C.

Am 20.02.2014 15:30, schrieb Chris Smith:
Have you looked at tagsoup?

On Feb 20, 2014 3:30 AM, "Christian Maeder" <christian.mae...@dfki.de
<mailto:christian.mae...@dfki.de>> wrote:

    Hi,

    I've got some difficulties parsing "large" xml files (> 100MB).
    A plain SAX parser, as provided by hexpat, is fine. However,
    constructing a tree consumes too much memory on a 32bit machine.

    see http://trac.informatik.uni-__bremen.de:8080/hets/ticket/__1248
    <http://trac.informatik.uni-bremen.de:8080/hets/ticket/1248>

    I suspect that sharing strings when constructing trees might greatly
    reduce memory requirements. What are suitable libraries for string
    pools?

    Before trying to implement something myself, I'ld like to ask who
    else has tried to process large xml files (and met similar memory
    problems)?

    I have not yet investigated xml-conduit and hxt for our purpose.
    (These look scary.)

    In fact, I've basically used the content trees from "The (simple)
    xml package" and switching to another tree type is no fun, in
    particular if this gains not much.

    Thanks Christian
    _________________________________________________
    Glasgow-haskell-users mailing list
    Glasgow-haskell-users@haskell.__org
    <mailto:Glasgow-haskell-users@haskell.org>
    http://www.haskell.org/__mailman/listinfo/glasgow-__haskell-users
    <http://www.haskell.org/mailman/listinfo/glasgow-haskell-users>


_______________________________________________
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

Reply via email to