我正在使用RetroFit
和SimpleXmlConverter
。 问题是每次我执行时它都会返回空响应。
.XML
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<Cities>
<City Id="USCA0987" Name="San Francisco" >
</City>
</Cities>
POJO课程:-
public class Weather
{
private Cities Cities;
public Cities getCities ()
{
return Cities;
}
public void setCities (Cities Cities)
{
this.Cities = Cities;
}
@Override
public String toString()
{
return "ClassPojo [Cities = "+Cities+"]";
}
}
public class Cities {
private City City;
public City getCity ()
{
return City;
}
public void setCity (City City)
{
this.City = City;
}
@Override
public String toString()
{
return "ClassPojo [City = "+City+"]";
}
}
public class City {
private String Name;
private String Id;
public String getName ()
{
return Name;
}
public void setName (String Name)
{
this.Name = Name;
}
public String getId ()
{
return Id;
}
public void setId (String Id)
{
this.Id = Id;
}
@Override
public String toString()
{
return "ClassPojo [Name = "+Name+", Id = "+Id+"]";
}
}
我使用以下代码创建了改造客户端
retrofit = new Retrofit.Builder()
.baseUrl("https://s3-us-west-2.amazonaws.com/")
.addConverterFactory(
SimpleXmlConverterFactory.createNonStrict())
.client(client)
.build();
作为回应,我得到城市为零。请看一看。
在POJO 类中添加此更改。
@Root
public class Weather
{
@Element
private Cities Cities;
public Cities getCities ()
{
return Cities;
}
public void setCities (Cities Cities)
{
this.Cities = Cities;
}
@Override
public String toString()
{
return "ClassPojo [Cities = "+Cities+"]";
}
}
public class Cities {
@Element
private City City;
public City getCity ()
{
return City;
}
public void setCity (City City)
{
this.City = City;
}
@Override
public String toString()
{
return "ClassPojo [City = "+City+"]";
}
}
public class City {
@Attribute
private String Name;
@Attribute
private String Id;
public String getName ()
{
return Name;
}
public void setName (String Name)
{
this.Name = Name;
}
public String getId ()
{
return Id;
}
public void setId (String Id)
{
this.Id = Id;
}
@Override
public String toString()
{
return "ClassPojo [Name = "+Name+", Id = "+Id+"]";
}
}
您可以从官方网站找到更多信息