比方說,我有下面的類:自動XML轉換
類Person(VAL姓:字符串,VAL名字:字符串)
有沒有生成該類XML,而無需自動方式手動創建一個toXml()方法?理想情況下,輸出會是這樣的:
<Person> <firstName>John</firstName> <lastName>Smith</lastName> </Person>
好像應該有辦法做到這一點,而無需手動編寫了這一切,。也許有一個我還沒有找到的特質?
比方說,我有下面的類:自動XML轉換
類Person(VAL姓:字符串,VAL名字:字符串)
有沒有生成該類XML,而無需自動方式手動創建一個toXml()方法?理想情況下,輸出會是這樣的:
<Person> <firstName>John</firstName> <lastName>Smith</lastName> </Person>
好像應該有辦法做到這一點,而無需手動編寫了這一切,。也許有一個我還沒有找到的特質?
不幸的是,我不認爲有這樣一個神奇的特質。你可以使用像XStream這樣的東西來實現這一點。然而,它似乎並沒有自動打印所有的Scala類,所以你可能需要編寫自己的轉換器。在列表的情況下,Someone else已經這麼做了,我想對於你的例子你可能需要類似的東西。
對於case
類(或其他Product
子類),這是一次很容易寫統稱:名稱可以用productPrefix
檢索,所有的值通過productIterator
是可迭代的,並通過productElementName
字段的名稱。
不幸的是,productElementName
也只有很短的生命:它是在revision 20958添加和刪除在revision 21223,顯然是因爲它增加太多重量case類(有也是一個open ticket它)。