Je suis en train d'examiner différentes approches pour le marshalling/unmarshalling de données entre Scala et XML, et je suis intéressé à obtenir des commentaires de la communauté (de préférence basé sur des connaissances/expériences de première main).Marshalling/unmarshalling XML dans Scala
Nous utilisons actuellement JAXB, ce qui est bien, mais j'espère une solution Scala pure. Je considérais les approches suivantes:
Utilisez Scala de intégré dans des installations XML: Scala-> XML serait facile, mais je pense que l'autre direction serait assez douloureuse. D'un autre côté, cette approche supporte une logique de traduction arbitraire.
liaison de données: scalaxb semble être un peu immature au moment et ne gère pas notre schéma actuel, et je ne sais pas d'autres données pour reliure Scala. Comme JAXB, une couche de traduction supplémentaire est nécessaire pour prendre en charge les transformations impliquées.
XML Pickler Combinators: La bibliothèque GData Scala Client fournit combinators XML Pickler, mais l'activité récente du projet a été faible et je ne sais pas ce que l'état actuel.
Questions:
- Quelles sont vos expériences avec les approches/bibliothèques J'ai énuméré?
- Quels sont les avantages et les inconvénients de chacun?
- Existe-t-il d'autres approches ou bibliothèques Scala que je devrais envisager?
Edit:
j'ai ajouté à ma réponse à cette question quelques notes sur mes impressions premières de Pickler combinateurs, mais je suis toujours très intéressé par les commentaires de quelqu'un qui connaît réellement les différentes approches en profondeur. Ce que j'espère, c'est une comparaison assez complète qui aiderait les développeurs à choisir la bonne approche pour leurs besoins.
Si vous pouviez m'envoyer le schéma à (eed3si9n at gmail), je pourrais être en mesure de corriger scalaxb. –