Маршаллинг / демаршаллинг XML в Scala

Я рассматриваю различные подходы для маршалинга / демаршалинга данных между Scala и XML, и мне интересно получить отзывы сообщества (желательно основанные на знаниях / опыте из первых рук).

В настоящее время мы используем JAXB, что хорошо, но я надеюсь на чистое решение Scala. Я рассматриваю следующие подходы:

  1. Используйте встроенные средства XML в Scala : Scala-> XML было бы легко, но я предполагаю, что другое направление было бы довольно болезненным. С другой стороны, этот подход поддерживает произвольную логику перевода.

  2. Связывание данных : scalaxb в настоящий момент кажется несколько незрелым и не обрабатывает нашу текущую схему, и я не знает о любой другой библиотеке привязки данных для Scala. Как и JAXB, для поддержки задействованных преобразований требуется дополнительный уровень перевода.

  3. Комбинаторы сборщика XML : Библиотека GData Scala Client предоставляет комбинаторы сборщика XML, но в последнее время активность проекта была низкой, и я не знаю каков текущий статус.

Вопросы:

  1. Каков ваш опыт использования перечисленных мною подходов / библиотек?
  2. Каковы относительные преимущества и недостатки каждого из них?
  3. Существуют ли другие подходы или Библиотеки Scala, которые мне следует рассмотреть?

Редактировать:

Я добавил несколько заметок о своих ранних впечатлениях от комбинаторов сборщика в моем собственном ответе на этот вопрос, но меня все еще очень интересуют отзывы от кого-то, кто действительно знает различные подходит в глубину. Что я' Я надеюсь, что это довольно подробное сравнение, которое поможет разработчикам выбрать правильный подход для своих нужд.

15
задан Pere Villega 18 January 2011 в 11:30
поделиться