2017-01-26 4 views
0

私はxmlレスポンスを持ち、アンドロイドの使用のためにJavaクラスに変換します。xmlをJAVAクラスに変換できません

<?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> 

これは、データのコードの使用は、どのように私は最終的に質問に興味深いのためにあなたの開発者に感謝し、それ

+1

問題は何ですか?あなたが試みたコードをエラーと共に投稿してください。 –

+0

xmlをたとえばXmlPullparserなどで解析する必要があります –

+0

xml解析用にretrofitを使用しています – sajid45

答えて

2

ためMyObjectにのモデルクラスを作ることができ

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); 

をフェッチ多くの闘争の後、私はこの点を解決し、この問題を解決するために、このxmlのJAVAクラスを使用します。 効率的な作業のために3つのクラスを作成しました。

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(=偽必要が)いくつかの時間にデータが空であってもよいによるものです。

そして改造のコールマネージャで応答して、私たちは

... 
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(); 
} 
... 

乾杯のように、これらのクラスのオブジェクトにアクセスするすべてのデータを取得することができます。

関連する問題