XMLを特定の形式で書き込んでいるアプリケーションにJAXBを使用しようとしています。私は下位互換性の問題のためのフォーマットを保つ必要があります。同じ名前の属性を持つ@XMLElementのアンマーシャリング
私はクラスで次のコードセグメントを持っている:
@XmlElement(name = "field")
private StudyIdentifier2 studyIdentifier;
@XmlElement(name = "field")
private List<GenericField> demographicsFields = new ArrayList<GenericField>();
このコードは正しく、次のXML記述します:
<field>
<value>2</value>
<XMLtag>id</XMLtag>
</field>
<field>
<value>JAMES</value>
<XMLtag>patient_name</XMLtag>
</field>
<field>
<value>This is a test</value>
<XMLtag>study_description</XMLtag>
</field>
を、私はそれをアンマーシャリングしようとするとしかし、私はちょうど私の取得最後のXMLフィールドの詳細を含むStudyIdentifier2
オブジェクトには、study_description
とdemographicsFields
ArrayList
が含まれています。 @XMLElement
アノテーションに同じ名前の値を指定しているため、正しくアンマシャールできないためです。しかし、私は両方とも<field>
と呼ばれる必要があります。同じ名前を付けることは可能ですか、正しくアンマーシャリングするには別の名前にする必要がありますか?
非常に簡単な解決策でもありますが、私はまだJAXBがどのように動作しているかについて完全に頭を浮かべていません。