java-解析xml kotlin android
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java-解析xml kotlin android,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2434字,纯文字阅读大概需要4分钟。
内容图文
我有这样的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: Default constructor
can not accept read only @org.simpleframework.xml.Element(data=false,
name=aries, required=true, type=void) on method ‘aries’ in class
ac.kotlintest.model.
UPD
我用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
}
但我有同样的问题(((((
解决方法:
@daementus的答案几乎是完美的.如果要对默认参数使用构造函数注入,则必须强制Kotlin生成构造函数重载:
data class Section @JvmOverloads constructor(
@field:Element(name = "id")
@param:Element(name = "id")
val id: Long,
@field:Attribute(name = "title", required = false)
@param:Attribute(name = "title", required = false)
val title: String = ""
)
没有它,您将得到与类Section不匹配的Constructor.
默认情况下,Kotlin生成具有所有参数和特殊构造函数的构造函数.
注意:我希望在评论中回答,但我的观点不够.
内容总结
以上是互联网集市为您收集整理的java-解析xml kotlin android全部内容,希望文章能够帮你解决java-解析xml kotlin android所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。