在scala中自动进行xml转换

Jef*_*man 5 scala

假设我有以下课程:

class Person(val firstName:String,val lastName:String)

是否有自动方法从此类生成xml而无需手动创建toXml()方法?理想情况下,输出将是这样的:

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

似乎应该有一种方法可以做到这一点,而无需手动编写所有这些.也许有一个我还没有找到的特质?

Mir*_*ker 5

对于case类(或其他子类Product),这通常很容易编写:名称可以检索productPrefix,所有值都可以通过productIterator和字段的名称通过productElementName.

不幸的是,productElementName还只有很短的生命:它是在加入修订20958和去除修订21223,显然是因为它增加太多重量case类(有也是一个开放的票吧).


Arj*_*ijl 3

不幸的是,我不认为有这样神奇的特质。您可以使用XStream之类的东西来完成此任务。然而,它似乎并不能自动打印所有 Scala 类,因此您可能需要编写自己的转换器。其他人已经在列表的情况下这样做了,我想对于您的示例,您可能需要类似的东西。