【问题标题】:Android XML parsing using retrofit使用改造的 Android XML 解析
【发布时间】:2020-09-14 20:27:52
【问题描述】:

出现此错误:java.lang.RuntimeException: org.simpleframework.xml.core.MethodException: Annotation @org.simpleframework.xml.Element(data=false, name=, required=false, type=void) 必须标记一个 set 或 get 方法

【问题讨论】:

  • 我的xml是本文档中包含的数据来自 www.openstreetmap.org。数据在 ODbL 下可用。
  • edit 详细说明问题本身; cmets 不支持相同的格式,并且是临时的。您可能还想编辑标题以更清楚您的实际问题是什么。

标签: android xml-parsing retrofit simple-framework


【解决方案1】:

这与以下问题相同:kotlin data class + bean validation jsr 303

您需要使用Annotation use-site targets,因为属性注释的默认优先级为:

参数(如果在构造函数中声明) 属性(如果目标站点允许,但只有 Kotlin 创建的注解可以这样做) 字段(可能是这里发生的事情,这不是你想要的)。 使用 get 或 set target 将注解放在 getter 或 setter 上。这是给吸气剂的:

@Root(name = "response")
public class User() {
    @get:Element public var result: String? = null
    @get:Element public var token: String? = null
    @get:Element public var uid: String? = null
}

详情请参阅linked answer

查看问题回复:Here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-03-14
    • 2016-02-25
    • 2017-07-07
    • 2019-03-27
    • 2019-11-11
    • 1970-01-01
    • 1970-01-01
    • 2023-03-23
    相关资源
    最近更新 更多