1

JAXB 生成メソッド setCHECKDT(XMLGregorianCalendar value) があります。実際のビジネス ロジック (ビジネス ロジックを変更することはできません) から、CHECKDT が null 値として取得される場合があり、xml を生成するメソッドに同じ値を割り当てる必要があります。

セッターにnull日付を設定している間、xmlから消えています。XMLGregorianCalendar の日付に null 値を割り当てる方法、またはタグを生成する方法を提案してください。

4

1 に答える 1

2

Java プロパティを null に設定すると、要素がシリアライズ時に XML から正しく除外されます。それでも XML 内の要素が必要な場合、オプションは次のいずれかです。

  1. (デ) シリアル化で空のタグを処理できる独自の日付/時刻コンバーターを記述します ( http://docs.oracle.com/cd/E17802_01/webservices/webservices/docs/1.5/tutorial/doc/JAXBUsing4.html#wp155652を参照)。 )。

  2. 次のように、Java プロパティに nillable のアノテーションを付けます。

    @XmlElement(required = true, nillable = true)
    private XMLGregorianCalendar yourProperty;
    

これで、null であっても、シリアライズされた XML に要素が含まれるようになります。要素は属性 'nil="true"' でマークされます:

<yourProperty xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
于 2012-08-07T08:51:26.223 に答える