I see that there is a few of XML processing libraries in Haskell.
HXT's main problem, aside from the unusual arrow syntax, is performance and memory usage. I have an app that spends 1.2 seconds processing about 1.5MB of XML, consuming about 2.3GB (!) of memory in the process. Libxml2 takes a few milliseconds on the same data. Extracting data via the css
function and arrow predicates also seems very slow compared to Libxml2.