我有問題unmarshall下面嵌套的xml。有人可以請告知我是否缺少一些東西。
body
標記可以包含任何Jaxb anotated obj。
我是否必須創建一個自定義適配器來編組/解組這樣的xml?Jaxb複雜xml unmarshall
輸入XML
<?xml version="1.0" encoding="UTF-8"?>
<serviceRq xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="serviceRq">
<body>
<createRq>
<id>1234</id>
</createRq>
</body>
</serviceRq>
我JAXB註釋類:
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "serviceRq")
public class ServiceRq{
private Object body;
<!-- getters and setters omitted-->
}
這裏,主體可以是任何JAXB註釋對象,在這種情況下,它CreateRq。
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "createRq")
public class CreateRq{
private String id;
<!-- getters and setters omitted-->
}
我正在尋找一種通用的方式來支持輸入xml正文中的任何Jaxb註釋對象。
奏效感謝。只是想補充一點,我必須將CreateRq添加到JAXBContext初始化中,以便使其工作。感謝您的幫助 – BSingh 2011-05-16 19:18:32
如果我們將lax設置爲false(默認行爲),它會從xml內容創建一個dom對象,並且不會嘗試將其映射到已知對象上? – 2017-01-06 13:11:06