次のような擬似コードがあります。
Alma alma = new Alma();
alma.setKorte(""); //Korte is a string member
marshaller.marshal(alma, stringwriter);
System.out.println(stringwriter.toString());
そしてそれは次の出力を生成します(これは空の要素がそこにあるというある種のトリックですが、これは私のシステムでどのように機能するかなので、私の前の誰かがこれをこのように設定しました):
<alma><korte/></alma>
それは私にとっては問題ありません。しかし、私がそれをアンマーシャリングすると、空の文字列は正しくアンマーシャリングされませんが、korteはnullになります。空の要素を空の文字列にアンマーシャリングするjaxbを作成するにはどうすればよいですか?
JDK6バンドルjaxbを使用しています。
編集:
アルマ級は次のようになります(クラスの名前は変更されていますが、次のようになっています)。
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Alma", propOrder = {
"korte"
})
public class Alma
implements Serializable
{
private final static long serialVersionUID = 100L;
@XmlElement(required = true)
protected String korte;