автоматическое преобразование XML в Scala - PullRequest
5 голосов
/ 08 июня 2010

Допустим, у меня есть следующий класс:

класс Person (val firstName: String, val lastName: String)

Существует ли автоматический способ генерирования XML из этого класса без необходимостивручную создать метод toXml ()?В идеале вывод должен выглядеть примерно так:

    <Person>
        <firstName>John</firstName>
        <lastName>Smith</lastName>
    </Person>

Кажется, что должен быть способ сделать это без необходимости записывать все это вручную.Возможно, есть черта, которую я еще не нашел?

Ответы [ 2 ]

5 голосов
/ 08 июня 2010

Для case классов (или других подклассов Product) это когда-то было очень просто написать в общем: имя можно получить с помощью productPrefix, все значения можно повторять с помощью productIterator и именами поля через productElementName.

К сожалению, productElementName имеет очень короткую жизнь: он был добавлен в ревизию 20958 и удален в ревизию 21223 , по-видимому, потому что он добавил слишком большой вес классам дел (есть также открытый билет для него).

3 голосов
/ 08 июня 2010

К сожалению, я не думаю, что есть такая волшебная черта. Для этого вы можете использовать что-то вроде XStream . Тем не менее, кажется, что все классы Scala распечатываются не очень автоматически, поэтому вам, вероятно, нужно написать собственный конвертер. Кто-то еще уже сделал это в случае списков, думаю, для вашего примера вам может понадобиться нечто подобное.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...