Retrofit with SimpleXmlConverter returns null



我正在使用RetroFitSimpleXmlConverter。 问题是每次我执行时它都会返回空响应。

.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+"]";
}
}

您可以从官方网站找到更多信息

最新更新