SAXParser解析复杂对象

时间:2018-03-07 08:39:50

标签: java xml-parsing jaxb saxparser saxparseexception

我是SAXParser的新手。我不知道是否可以使用SAXParser解析复杂对象。我有一个包含项目列表的类。我的响应xml 就是这样:

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><GetPaymentServiceInfoResponse xmlns="http://quetzalcoatlus/EpulPaymentService"><GetPaymentServiceInfoResult><ResultCodes>OK</ResultCodes><Description>User is temporary blocked</Description><Items><Item><Amount>122</Amount></Item><Item><Amount>23232</Amount></Item></Items></GetPaymentServiceInfoResult></GetPaymentServiceInfoResponse></s:Body></s:Envelope>

我的POJO课程如下:

@XmlRootElement(name = "PGResponse")
 public class CheckAbonSuccessResponseModel {

private String message;
private String message_code;
private BigDecimal amount;
private String invoiceCode;
private String operationCode;
private List<Item> items;

@XmlElement(name = "message")
public String getMessage() {
    return message;
}

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

@XmlElement(name = "message_code")
public String getMessage_code() {
    return message_code;
}

public void setMessage_code(String message_code) {
    this.message_code = message_code;
}

@XmlElement(name = "amount")
public BigDecimal getAmount() {
    return amount;
}

public void setAmount(BigDecimal amount) {
    this.amount = amount;
}

@XmlElement(name = "invoice_code")
public String getInvoiceCode() {
    return invoiceCode;
}

public void setInvoiceCode(String invoiceCode) {
    this.invoiceCode = invoiceCode;
}

@XmlElement(name = "operation_code")
public String getOperationCode() {
    return operationCode;
}

public void setOperationCode(String operationCode) {
    this.operationCode = operationCode;
}

@XmlElement(name = "items")
public List<Item> getItems() {
    return items;
}

public void setItems(List<Item> items) {
    this.items = items;
}

@XmlRootElement(name = "item")
public static class Item {
    private String label;
    private String value;

    @XmlElement(name = "label")
    public String getLabel() {
        return label;
    }

    public void setLabel(String label) {
        this.label = label;
    }

    @XmlElement(name = "value")
    public String getValue() {
        return value;
    }

    public void setValue(String value) {
        this.value = value;
    }
 }
  }

如何将我的xml字符串解析为CheckAbonSuccessResponseModel。有可能吗?我正在尝试,但它只显示Result元素中的数量。我只需要知道我必须如何编写DefaultHandler类。 提前谢谢。

0 个答案:

没有答案
相关问题