私はこのようなxmlを持っています:
<horo>
<aries>
<today>
Сегодня вас могут здорово огорчить. Если от расстройства все начнет валится из рук, просто спокойно сядьте и тихонько подождите хорошей новости.
</today>
</aries>
<taurus>
<today>
Сегодня у вас могут возникнуть проблемы на личном фронте. Спасти вас от перспективы оказаться не у дел может сухой, рациональный и в высшей степени объективный подход к проблеме.
</today>
</taurus>
</horo>
そして今、私はレトロフィットで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 のメソッド 'aries' で読み取り専用の @org.simpleframework.xml.Element(data=false, name=aries, required=true, type=void) を受け入れることができません.kotlintest.モデル。
更新
私は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
}
しかし、私は同じ問題を抱えています((((