我有一个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 的模型类
答案 0 :(得分:2)
1:MyObject
public class MyObject {
@Element(name = "results_info")
private Results_info results_info;
@ElementList(inline = true)
List<Listing_info> listing_info;
}
2:Results_info
public class Results_info {
private String page;
private String total_pages;
}
3:Listing_info
public class Listing_info {
@Element(required = false)
String id;
@Element(required = false)
String image;
@Element(required = false)
}
@Element(required = false)是由于某些时间数据可能为空。
作为对改造的呼叫管理器的回应,我们可以从访问这些类的对象中获取所有数据,就像
一样...
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();
}
...
干杯。