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>
:
@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이다 XML keysList
개체에서 키 목록을 얻었지만 messageId
또는 다른 개체와 같은 다른 개체가 나타나지 않습니다. er <root>
요소.
어떻게 bean 값에서 그 값을 얻을 수 있습니까?
이 문제를 해결하는 데 도움을주십시오.
여기에 출력을 얻기위한 주요 방법은? – Prateek