我有一個XML字符串,並且我想使用JAXB API將其解組爲Java Bean。
下面是XML:通過JAXB在Unmarshal XML中缺少一些價值
<?xml version="1.0" encoding="UTF-8"?>
<ns0:TEST_REQ xmlns:ns0="http://Test.com">
<keys>
<item>
<key>MyKey1</key>
</item>
<item>
<key>MyKey2</key>
</item>
</keys>
<root>
<messageid>000000123<messageid/>
<statusmessage>Successfully Done.</statusmessage>
<statuscode>1</statuscode>
</root>
</ns0:TEST_REQ>
我想解組此XML下面的Java Bean:
@XmlRootElement(name = "TEST_REQ", namespace = "http://Test.com")
@XmlAccessorType(XmlAccessType.FIELD)
public class ResponseKeysBean {
@XmlElement(name="messageid")
private String messageId;
@XmlElement(name="statuscode")
private Integer statusCode;
@XmlElement(name="statusmessage")
private String statusMessage;
@XmlElement(name="key")
private String key;
@XmlElementWrapper(name="keys")
@XmlElement(name="item")
private List<ResponseKeysBean> keysList;
//Getter and Setter method
}
我解組此XML使用下面的代碼:
JAXBContext jaxbContext = JAXBContext.newInstance(ResponseKeysBean.class);
Unmarshaller um = jaxbContext.createUnmarshaller();
ResponseKeysBean keyObj = (ResponseKeysBean) um.unmarshal(new StringReader(xmlStr));
當我在上面散集XML我得到了keysList
對象中的關鍵列表,但是我沒有在我的對象中獲得其他參數,如messageId
或其他是呃<root>
元素。
我如何在我的bean變量中獲得這些值。
請幫我解決這個問題。
我ahve張貼了我answer.does它回答您的問題? – Prateek