如何在 android 中获取 XML 响应字符串以及 Kotlin 数据模型?
Posted
技术标签:
【中文标题】如何在 android 中获取 XML 响应字符串以及 Kotlin 数据模型?【英文标题】:How to get XML response string along with Kotlin Data Model in android? 【发布时间】:2020-04-19 21:49:18 【问题描述】:我正在使用 SimpleXmlConverterFactory 解析 XML 响应,它运行良好,但它在进行 API 调用时为我提供了与提供的模型类相关的数据模型类,但现在我还需要从服务器获取的响应字符串。
我尝试在模型类中使用 responseBody,但由于它在我的 XML 解析中出错
class ResponseAndPojo(val value : MODEL, val response : ResponseBody)
使用上面的类,我试图通过改造 API 调用解析响应,但它不起作用
【问题讨论】:
是的,但我需要实际的 XML 数据 然后在您的请求中收到ResponseBody
的响应,然后将其转换为您的模型。你不能以你的方式做任何你想做的事
如何将响应主体转换为模型,因为响应是 XML 的,我不确定 Gson 会在这里提供帮助!!
你必须使用你的解析器来转换它的模型
【参考方案1】:
我通过使用 SimpleXmlConverterFactory 实现了这一点,下面是我的代码,它将使用 XML 响应主体并将其转换为数据模型类,以便我得到 XML 响应字符串和模型类
val strategy = AnnotationStrategy()
val serializer = Persister(strategy)
val model = SimpleXmlConverterFactory.create(serializer).responseBodyConverter(CustomModel::class.java,arrayOfNulls<Annotation>(0),null)?.convert(response) as CustomModel
【讨论】:
以上是关于如何在 android 中获取 XML 响应字符串以及 Kotlin 数据模型?的主要内容,如果未能解决你的问题,请参考以下文章
Android - 如何使用 PHP 从 MySQL 数据库中获取响应?