JAXBを使用してXMLからJavaオブジェクトへのバインディングを定義しようとしています。すべては私がにしようとしているとき以外は正常に動作します XMLのようなこの生産:私は次の例外を取得していますJAXB "あるクラスに@XmlElementプロパティがある場合、@ XmlValueプロパティを持つことはできません。"
@XmlRootElement(name="request")
public class Request {
@XmlValue
public String getCommandID() { return "Get Price"; };
@XmlElement
public String getSessionID() { return "read-only"; };
}
:クラスはこののように定義されたオブジェクトから
<request>
Get Price
<sessionId>read-only</sessionId>
</request>
を:
If a class has @XmlElement property, it cannot have @XmlValue property.
"sessionId"要素を属性に変更すると、すべて正常に動作しますが、もちろんそれを要素にしたいと思います。
私はJAXBが非常に柔軟性があると思っていましたが、私は何かが明らかでないと確信しています。
お手伝いできますか?
ありがとうございました! ここで、意味のあるエラーメッセージを生成するのに一般的なJAXBが、そのメッセージに '@XmlMixed'アノテーションを記述することを希望します。 :)別の手で、私は最初にマニュアルを読む必要があります;-) – AlexV
Blaise、質問で説明されている出力を達成するために@XmlMixed注釈を使用して詳しく説明できますか?私はまったく同じ要件を持っています。私は出力が何であるかを制御できません。ただ一致させるだけです。サードパーティのプログラムはXMLを入力として受け入れ、フォーマットは混在しているので、私の手は結びついています... –