I have xml like this:
<horo>
<aries>
<today>
Сегодня вас могут здорово огорчить. Если от расстройства все начнет валится из рук, просто спокойно сядьте и тихонько подождите хорошей новости.
</today>
</aries>
<taurus>
<today>
Сегодня у вас могут возникнуть проблемы на личном фронте. Спасти вас от перспективы оказаться не у дел может сухой, рациональный и в высшей степени объективный подход к проблеме.
</today>
</taurus>
</horo>
现在我正在学习使用Retrofit的Kotlin。我包含了用于解析XML的库,但是我不知道如何创建对象来解析这个XML。我有以下对象:
@Root(name = "horo", strict = false)
open class DailyHoroscope{
@get : Element(name = "aries") var aries : Aries? = null
}
@Root(name = "aries", strict = false)
open class Aries{
@get : Element(name = "today") var today : String? = null
}
但我遇到了错误:
rg.simpleframework.xml.core.ConstructorException: 在 ac.kotlintest.model 类的 aries 方法中,使用只读的 @org.simpleframework.xml.Element(data=false, name=aries, required=true, type=void) 时,无法接受默认构造函数。
更新
我写的是Java代码:
@Root(name = "horo", strict = false)
public class DailyHoroscopeJ {
@Element(name = "aries")
public Aries aries;
public Aries getAries() {
return aries;
}
public void setAries(Aries aries) {
this.aries = aries;
}
}
@Root(name = "aries", strict = false)
class Aries{
@Element(name = "today")
public String today;
public String getToday() {
return today;
}
public void setToday(String today) {
this.today = today;
}
}
它工作良好,然后我将其转换为Kotlin。
@Root(name = "horo", strict = false)
class DailyHoroscope {
@get:Element(name = "aries")
var aries:Aries? = null
}
@Root(name = "aries", strict = false) class Aries {
@get:Element(name = "today")
var today:String? = null
}
但是我有同样的问题((((
@JvmOverloads
注解也可以在我的电脑上运行。 - Rahul Chowdhury