【问题标题】:How to Parse below XML using java?如何使用java解析下面的XML?
【发布时间】:2018-03-15 07:32:23
【问题描述】:

我正在尝试使用 java 1.7 获取状态和消息标签信息

请指导我, 在此先感谢

<API version="0.0">
  <response>
    <operation name="ADD">
      <result>
        <statuscode>200</statuscode>
        <status>Success</status>
        <message> successfully</message>
      </result>
      <Details type="ADD"/>
    </operation>
  </response>
</API>

【问题讨论】:

  • 很抱歉,这不是 stackoverflow 的工作方式。你甚至都没有在这里问问题。
  • 谢谢@EmreAcar 我会改正我的错误
  • 首先,您应该意识到您发布的内容根本不是 JSON。它是缺少标头的 XML。

标签: java json


【解决方案1】:

这不是您收到的 JSON 响应,而是 XML 响应, 您只需要将 XML 响应转换为 POJO 类并改用 POJO 类。

这是 POJO 类的样子

public class MyPojo{

    private API API;

    public API getAPI() {
        return API;
    }

    public void setAPI(API API) {
        this.API = API;
    }
}

现在 MyPojo 将包含另一个名为 API 的类

public class API {

    private Response response;
    private String version;

    public Response getResponse() {
        return response;
    }

    public void setResponse(Response response) {
        this.response = response;
    }

    public String getVersion() {
        return version;
    }

    public void setVersion(String version) {
        this.version = version;
    }
}

现在 API 类包含另一个名为 Response 的类

public class Response {

    private Operation operation;

    public Operation getOperation() {
        return operation;
    }

    public void setOperation(Operation operation) {
        this.operation = operation;
    }
}

现在 Response 类包含另一个名为 Operation 的类

public class Operation {

    private Result result;
    private Details Details;
    private String name;

    public Result getResult() {
        return result;
    }

    public void setResult(Result result) {
        this.result = result;
    }

    public Details getDetails() {
        return Details;
    }

    public void setDetails(Details Details) {
        this.Details = Details;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

现在你猜对了,Operation 类包含两个类 Details 和 Result

这是包含您要访问的状态和消息的 Result 类

public class Result {

    private String message;
    private String status;
    private int statuscode;

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public int getStatuscode() {
        return statuscode;
    }

    public void setStatuscode(int statuscode) {
        this.statuscode = statuscode;
    }
}

这是详细信息类

public class Details {

    private String type;

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }
}

最后,您可以通过从 MyPojo 类创建一个对象来访问状态和消息,如下所示:

String message = myPojo.getAPI().getResponse().getOperation().getResult().getMessage();

String status = myPojo.getAPI().getResponse().getOperation().getResult().getStatus();

您可以使用this在线转换器将XML/JSON转换为POJO。

希望我的回答对你有帮助:)

【讨论】:

    猜你喜欢
    • 2010-12-15
    • 1970-01-01
    • 2019-03-24
    • 1970-01-01
    • 2015-07-02
    • 1970-01-01
    • 1970-01-01
    • 2018-03-03
    • 1970-01-01
    相关资源
    最近更新 更多