это мой модифицированный класс POJO для ответа XML.

т, я новичок в программировании Android. Я просмотрел несколько ссылок о том, как анализировать XML-ответ, используя модификацию, и я попытался использовать XML ниже, как показано.

Есть ли необходимые изменения, которые я должен сделать в классе POJO. но я получаю исключение NullPointer в Logcat. когда пытаюсь прочитать ответ.

Может кто-нибудь, пожалуйста, посмотрите на это и выручите меня.

это мой ответ XML для API входа в систему.

[

Вот мой код MainActivity. Можно ли подсказать, где я ошибаюсь.

RequestBody requestBody = RequestBody.create(MediaType.parse("text/xml"), strRequestBody);

    Call<LoginResponseEnvelope> call = RetrofitGenerator.getProductInterfaceApi().Login(requestBody);
    call.enqueue(new Callback<LoginResponseEnvelope>() {
        @Override
        public void onResponse(Call<LoginResponseEnvelope> call, Response<LoginResponseEnvelope> response) {
            progressbar.setVisibility(View.GONE);

            if (response != null) {
                try {
                    Log.d("LoginResponse", "success response :" + response.body());
                    LoginResponseEnvelope loginResponseEnvelope = response.body();
                } catch (Exception e) {
                    e.printStackTrace();
                }

               /* if (loginResponseEnvelope != null) {
                    Log.d("LoginResponse", "success loginResponseEnvelope :" + loginResponseEnvelope.toString());

                    String status = loginResponseEnvelope.getBody().getLoginResponseData().getLoginResult().getLoginInfo().toString();

                    Intent intent = new Intent(MainActivity.this, SuccessActivity.class);
                    startActivity(intent);
                }*/
            }

            /*if (loginResponseEnvelope!=null){

            }*/
        }

        @Override
        public void onFailure(Call<LoginResponseEnvelope> call, Throwable t) {
            progressbar.setVisibility(View.GONE);
            Log.d("LoginResponse", "failure response :" + t.getMessage());
        }
    });

это мой модифицированный класс POJO для ответа XML.

public class LoginResponseEnvelope {

@Element(name = "Body", required = false)
private LoginResponseBody body;

public LoginResponseBody getBody() {
    return body;
}

public void setBody(LoginResponseBody body) {
    this.body = body;
}

@Override
public String toString() {
    return "LoginResponseEnvelope{" +
            "body=" + body +
            '}';
}

@Root(name = "Body", strict = false)
public class LoginResponseBody {

    @Element(name = "LoginResponse", required = false)
    private LoginResponseData loginResponseData;

    public LoginResponseData getLoginResponseData() {
        return loginResponseData;
    }

    public void setLoginResponseData(LoginResponseData loginResponseData) {
        this.loginResponseData = loginResponseData;
    }

    @Root(name = "LoginResponse", strict = false)
    @Namespace(reference = "http://tempuri.org/")
    public class LoginResponseData {

        @Element(name = "LoginResult", required = false)
        private LoginResult loginResult;

        public LoginResult getLoginResult() {
            return loginResult;
        }

        public void setLoginResult(LoginResult loginResult) {
            this.loginResult = loginResult;
        }

        @Root(name = "LoginResult", strict = false)
        public class LoginResult {

            @Element(name = "Result", required = false)
            private LoginInfo loginInfo;

            public LoginInfo getLoginInfo() {
                return loginInfo;
            }

            public void setLoginInfo(LoginInfo loginInfo) {
                this.loginInfo = loginInfo;
            }

            @Root(name = "Result", strict = false)
            @Namespace(reference = "")
            public class LoginInfo {

                @Element(name = "Success", required = false)
                private Success success;

                public Success getSuccess() {
                    return success;
                }

                public void setSuccess(Success success) {
                    this.success = success;
                }

                @Root(name = "Success", strict = false)
                public class Success {

                    @ElementList(name = "CompanyDetails", inline = true)
                    private List<Company> companyDetails;

                    public List<Company> getCompanyDetails() {
                        return companyDetails;
                    }

                    public void setCompanyDetails(List<Company> companyDetails) {
                        this.companyDetails = companyDetails;
                    }

                    @Root(name = "CompanyDetails", strict = false)
                    public class Company {

                        @Element(name = "Id", required = false)
                        private String id;

                        @Element(name = "Name", required = false)
                        private String Name;

                        public String getId() {
                            return id;
                        }

                        public void setId(String id) {
                            this.id = id;
                        }

                        public String getName() {
                            return Name;
                        }

                        public void setName(String name) {
                            Name = name;
                        }
                    }
                }
            }
        }
    }
}

}

Ответы на вопрос(0)

Ваш ответ на вопрос