Java如何使用JAXB注释在XML中添加子元素

时间:2016-11-15 14:42:15

标签: java xml jaxb annotations

我一直在尝试使用JAXB Annotations创建以下XML。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Response>
    <resultCode>00</resultCode>
    <resultDesc>Success</resultDesc>
    <SenderResponse>
        <match>false</match>
        <code>02</code>
    </SenderResponse>
    <ReceiverResponse>
        <match>true</match>
        <code>00</code>
    </ReceiverResponse>
</Response>

到目前为止,我能够实现以下目标:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Response>
    <resultCode>02</resultCode>
    <resultDesc>Telenor Mismatched</resultDesc>
</Response>

我已搜索但无法找到如何使用以下Java代码在上述XLM中添加子元素。

@XmlRootElement(name = "Response")
public class Response 
{
    String ResultCode;
    String ResultDesc;

    @XmlElement
    public String getResultCode() {
        return ResultCode;
    }
    public void setResultCode(String resultCode) {
        ResultCode = resultCode;
    }

    @XmlElement
    public String getResultDesc() {
        return ResultDesc;
    }
    public void setResultDesc(String resultDesc) {
        ResultDesc = resultDesc;
    }
}

我只是在上课时打电话。

Response response = new Response();
response.setResultCode("22");
response.setResultDesc("error");

1 个答案:

答案 0 :(得分:1)

你走在正确的轨道上。您希望对嵌套元素执行的操作是创建新类以镜像它们。创建一个SenderResponse类,然后像这样使用它:

@XmlElement
public SenderResponse getSenderResponse() {
}

编辑:然后在SenderResponse类中你将拥有子元素。

@XmlElement
public String getMatch() {
}

@XmlElement
public String getCode() {
}