0
我有一個xml,它使用xsi:type屬性,所以儘管「ChildField」元素不是模式中的「BaseData」元素的成員,「BaseData」元素可以包含「ChildField」元素:如何映射一個xml,它使用xsi:type和推土機?
<BaseData xsi:type="Child">
<ChildField>value</ChildField>
</BaseData>
生成的Java代碼是:
兒童:
@XmlSeeAlso({
Child.class,
})
public class BaseData {}
基地:
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Child", propOrder = {
"childField"
})
public class Child extends BaseData
{
@XmlElement(name = "ChildField")
protected String childField;
}
如今終於,我想這種結構映射到我的結構,但是當我把這個推土機映射XML文件時失敗:
<field>
<a>baseData</a>
<b>myData</b>
<a-hint>BaseData,Child</a-hint>
<b-hint>MyClass</b-hint>
</field>
<field>
<a>baseData.childField</a>
<b>myData.myField</b>
</field>
我得到的例外是:
org.dozer.MappingException: No read or write method found for field (baseData.childField) in class (class BaseData)
我使用
mapper.map
方法