60 votes

Qui Haskell bibliothèque XML à utiliser?

Je vois qu'il y a un peu de traitement de données XML bibliothèques en Haskell.

  • HaXml semble être la plus populaire (selon les dons)
  • HXT semble être le plus avancé (mais aussi la plus difficile à apprendre grâce à des flèches)
  • xml qui semble être la base de l'analyseur
  • HXML semble abandonné
  • tagsoup et tagchup
  • libXML et libXML SAX liaisons

Ainsi, la bibliothèque de choisir si je veux qu'il

  • pour être raisonnablement puissant (pour en extraire les données à partir de XML et de les modifier le XML)
  • susceptibles d'être pris en charge à long moment dans le futur
  • pour être un "community choice" (choix par défaut)

Et alors que la plupart de ce qui précède semble être suffisant pour mes besoins actuels, quelles sont les raisons de choisir l'un d'entre eux sur les autres?

UPD 20091222:

Quelques notes sur les licences:

57voto

Don Stewart Points 94361

Je recommanderais:

  1. xml, si votre tâche est simple
  2. haxml, si votre tâche est complexe
  3. hxt, si vous aimez les flèches
  4. hexpat si vous avez besoin de haute performance

14voto

Alexander Staubo Points 688

HXT principal problème, en dehors de l'insolite flèche de la syntaxe, de la performance et de l'utilisation de la mémoire. J'ai une application qui consacre 1,2 secondes de traitement d'environ 1,5 MO de XML, consommant environ 2,3 GO (!) de mémoire dans le processus. Libxml2 prend que quelques millisecondes sur les mêmes données. L'extraction des données via l' css de la fonction et de la flèche prédicats semble également très lent par rapport à Libxml2.

10voto

Will Points 649

Personnellement, je ne recommande HXT , car il utilise les flèches qui sont très utile et puissant outil pour apprendre, et une analyse XML bibliothèque est l'utilisation parfaite pour les flèches (ils ont d'abord été inventé pour résoudre les différents problèmes de l'analyse que les monades ne pouvais pas). Des flèches sont également de commencer à être utilisé en dehors de la pure programmation fonctionnelle, comme Arrowlets en JavaScript.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X