我必須使用幾個xsd
文件。 我從xsd
文件生成JAXB
類。我得到以下結果:UnmarshalException:無法創建實例
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name = "xmeldit.datenlieferung.1100")
public class XmelditDatenlieferung1100 extends TypeNachrichtG2G
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "type.Nachrichtenkopf.G2G")
class TypeNachrichtG2G extends NachrichtG2G {
}
@XmlSeeAlso({NachrichtG2GRueckweisung.class,TypeNachrichtG2G.class})
abstract class NachrichtG2G {
@XmlElement(required = true)
protected NachrichtenkopfG2G nachrichtenkopf;
}
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Nachrichtenkopf.G2G", propOrder = {"identifikationNachricht", "leser", "autor"})
@XmlSeeAlso({ TypeNachrichtenkopfG2G.class, NachrichtenkopfG2GXInneres.class
})
public abstract class NachrichtenkopfG2G {
}
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "type.Nachrichtenkopf.G2G")
public class TypeNachrichtenkopfG2G extends NachrichtenkopfG2G{
}
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Nachrichtenkopf.G2G.XInneres")
public class NachrichtenkopfG2GXInneres extends NachrichtenkopfG2G {
}
現在我想unmarshal
一類XmelditDatenlieferung1100
對象。但我得到一個UnmarshalException
。 Jaxb
想要創建NachrichtenkopfG2G
的實例。 NachrichtenkopfG2G
是抽象的。 我怎麼說jaxb
使用TypeNachrichtenkopfG2G
而不是NachrichtenkopfG2G
?
我解組對象有:
JAXBContext jaxbContext = JAXBContext.newInstance("packagename");
XmelditDatenlieferung1100 unmarshal = XmelditDatenlieferung1100) jaxbContext.createUnmarshaller().unmarshal(filePath.toFile());
我不知道。 :-(
你用什麼代碼開始反編組? – f1sh
我添加了代碼如何開始反編組。 –