1

これはjaxb2で可能かしら。<element>または<element2>のいずれかになり得るxmlがありますが、いつかは表示されません。これらは両方ともString型であり、Javaクラスの同じプロパティにマップする必要があります。jaxb2にそれを構成する方法はありますか?

ありがとうチャーリー

4

2 に答える 2

1

あなたはそのようなことをすることができます:

@XmlElements({
    @XmlElement(name="command", type=CommandVO.class, namespace="http://chains.projetox.com.br/"),
    @XmlElement(name="script", type=ScriptVO.class, namespace="http://chains.projetox.com.br/")
})
private List<SubjectVO> commands;

どこ:

public interface SubjectVO {}
public class CommandVO implements SubjectVO {}
public class ScriptVO implements SubjectVO {}
于 2012-08-02T23:46:27.333 に答える
1

XMLにシリアル化して戻そうとするとどうなりますか?どの要素名が使用されますか?

XMLからJavaにデシリアライズするだけでよいと仮定すると、フィールドの代わりにセッターメソッドにアノテーションを付けることでこれを行うことができます。

public class Bean {

   private String value;

   @XmlElement(name="element")
   public void setA(String value) {
      this.value = value;
   }

   @XmlElement(name="element2")
   public void setB(String value) {
      this.value = value;
   }
}

JAXBがセッターを正しく認識するためにgetA()、メソッドを追加する必要がある場合もあります。getB()

于 2010-07-01T09:52:04.950 に答える