gpt4 book ai didi

java - 无法将xml转换为JAVA类

转载 作者:行者123 更新时间:2023-12-02 03:05:00 25 4
gpt4 key购买 nike

我有一个 xml 响应,希望将其转换为 java 类以供 Android 使用。

<?xml version="1.0" encoding="UTF-8"?>
<title>
<results_info>
<page>1</page>
<total_pages>8</total_pages>
</results_info>
<listing_info>
<id>4</id>
<image></image>
</listing_info>
<listing_info>
<id>4</id>
<image></image>
</listing_info>
<listing_info>
<id>4</id>
<image></image>
</listing_info>
</title>

这是用于获取数据的代码

public interface ApiService {
@GET("myUrl")
Call<MyObject> reqProfile();
}
Api WEB_SERVICE = new Retrofit.Builder()
.baseUrl("http://www.baseUrl.com/")
.client(client)
.addConverterFactory(SimpleXmlConverterFactory.create())
.build().create(Api.class);

如何为其创建一个 MyObject 模型类

最佳答案

感谢开发人员对这个问题的兴趣,经过一番努力,我终于找到了重点并解决了这个问题,这里是这个 xml 的 JAVA 类。为了高效工作,我创建了三个类。

1:我的对象

public class MyObject {
@Element(name = "results_info")
private Results_info results_info;
@ElementList(inline = true)
List<Listing_info> listing_info;
}

2:结果_信息

public class Results_info {
private String page;
private String total_pages;
}

3:列表信息

public class Listing_info {
@Element(required = false)
String id;
@Element(required = false)
String image;
@Element(required = false)
}

@Element(required = false) 是由于某些时候数据可能为空。

作为对Retrofit调用管理器的响应,我们可以通过访问这些类的对象来获取所有数据,就像

...
if (response != null && response.isSuccessful() && response.body() != null) {
MyObject object = (MyObject) response.body();
String page = object.getResults_info().getPage();
List<Listing_info> myList = object.getList();
String a = myList.get(0).getImage();
}
...

干杯。

关于java - 无法将xml转换为JAVA类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41876627/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com