0

次の XML をデシリアライズしようとしています。「day」と「fulldob」は、カスタム ロジック用の個別のコンバーターを持つオブジェクト タイプです。一度デシリアライズし、オブジェクトに toXML メソッドを適用すると、「day」と「fulldob」の値が失われます。つまり、day と fulldob が適切に逆シリアル化されていません。誰か助けてくれませんか?

** * ** * ** * *入力 XML * ** * ** *

 <primarydob>
   <month>05</month>
   <day>13</day>
   <year>1982</year>
  <fulldob>19820513</fulldob>
 </primarydob>

** * *オブジェクトからの XML (上記の XML を逆シリアル化した後) * ** * ** *

 <primarydob>
   <month>05</month>
   <day/>
   <year>1982</year>
   <fulldob/>
 </primarydob>

「primarydob」のオブジェクトは次のとおりです。

@XStreamAlias("dob")   
public class DOBData {

  @XStreamAlias("month")
  private String month;

  @XStreamAlias("day")
  private DOBDay dobDay = new DOBDay();

  @XStreamAlias("year")
  private String year;

  @XStreamAlias("fulldob")
  private FullDOB fulldob = new FullDOB();

  getters/setters
}

「fulldob」のオブジェクトは次のとおりです。

@XStreamAlias("fulldobdata")
@XStreamConverter(FullDOBDayMaskingConverter.class)
public class FullDOB {

  @XStreamAlias("fulldob")
  private String fullDOB;

  public String getFullDOB() {
      return fullDOB;
  }

  public void setFullDOB(String fullDOB) {

      this.fullDOB = fullDOB;
  }
}

ここに「日」のオブジェクトがあります

@XStreamAlias("dobday")
@XStreamConverter(DOBDayMaskingConverter.class)
public class DOBDay {

  @XStreamAlias("day")
  private String day;

  public String getDay() {
         return day;
  }
  public void setDay(String day) {
         this.day = day;
  }
}

ありがとう、

4

1 に答える 1