Android 使用SimpleXmlConverter进行改装时返回空值

Android 使用SimpleXmlConverter进行改装时返回空值,android,xml-parsing,retrofit,Android,Xml Parsing,Retrofit,我正在使用SimpleXmlConverter进行改装。问题是每次执行时,它都返回空响应 XML 我已经用下面的代码创建了改造客户端 retrofit = new Retrofit.Builder() .baseUrl("https://s3-us-west-2.amazonaws.com/") .addConverterFactory( SimpleXmlConverterFacto

我正在使用SimpleXmlConverter进行改装。问题是每次执行时,它都返回空响应

XML

我已经用下面的代码创建了改造客户端

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

您可以从

中找到更多信息,谢谢穆罕默德。这对我有用。我的代码中遗漏了@Attribute注释。你能告诉我@Attribute和b/w有什么区别吗Element@nitintyagi用标记括起来的是具有多个属性的单个元素中的元素。。在ID中的元素内,将名称视为属性。您可以在官方链接中找到更多详细信息。。
retrofit = new Retrofit.Builder()
                .baseUrl("https://s3-us-west-2.amazonaws.com/")
                .addConverterFactory(
                        SimpleXmlConverterFactory.createNonStrict())
                .client(client)
                .build();
@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+"]";
 }
}