私が設計したいくつかのクラスをマーシャリングしようとしています。標準のJAXBを使用すると、クラスはすべてvoidコンストラクターを持ちます。これは、JAXBまたはマーシャリング/アンマーシャリングを任意の言語で使用する最初の試みですが、私が理解しているように、JAXBはマーシャリングできるはずです。 XSDなしでそれら。
クラスは次のとおりです。
@XmlRootElement(name="place")
class Place {
@XmlAttribute
//various fields and get set methods
public Place() {
}
}
@XmlRootElement(name="Arc")
class Arc {
// various fields and get set methods
@XmlAttribute
Place p;
public setPlace(Place p) {
// ...
}
public Arc() {
}
}
@XmlRootElement(name="Transition")
class Transition {
Arc[] a;
public Transition() {
}
}
クラスをマーシャリングすることはできますが、Place
クラスをマーシャリングすることはできません。試していません。クラスにはArc
タグがありますが、ネストされたクラスに到達すると、JAXBはどのXMLオブジェクトをマップするかを理解していないようです。Transition
@XMLPropriety
Place
ネストされたクラスに使用する必要のある別のタグがある場合、または見落としている別のエラーがある場合はどうなりますか?