1

クラス属性はホットな XStream トピックです: 誰もそれを望んでいません。

それを取り除く適切な方法は、カスタム コンバーターを作成することです (他の提案された微調整は、マーシャリング時にのみ機能し、アンマーシャリング時には機能しません)。良い実例はこちらです。

残念ながら、別の方法で動作する Converter が必要です。class 属性の値を、その属性を実際に含む要素の名前として使用したいのです。たとえば、代わりに

<codecData class="videoCodec">
...
</codecData>

<codecData class="audioCodec">
...
</codecData>

私が欲しい

<videoCodec>
...
</videoCodec>

<audioCodec>
...
</audioCodec>

これを行う正しい方法は何ですか?そのような Converter を作成する試みは失敗しました。

私が持っていると仮定します

public class MediumData {
    public CodecData codecData;
    public String otherInfo;
}

public abstract class CodecData {
    public String name;
}

public class VideoCodec extends CodecData {
    public String videoInfo;
}

public class AudioCodec extends CodecData {
    public String audioInfo;
}

ありがとうございました。

4

0 に答える 0