0

XStreamを使用して、Javaオブジェクトを対応するXMLオブジェクトに変換しています。

そのようなオブジェクトの1つにList<Window> windows変数が含まれており、生成されると次のように表示されます。

<windows>
    <Window>
                  <WindowType>Monthly</WindowType>
                  <WindowBegin>
                    <Month>null</Month>
                    <Day>null</Day>
                  </WindowBegin>
                  <WindowEnd>
                    <Month>null</Month>
                    <Day>null</Day>
                  </WindowEnd>
    </Window>
    <Window>
    ....
    </Window>
</windows>

次のように、List<>親タグが生成されないようにすることが可能かどうかを知りたいです。

        <Window>
                      <WindowType>Monthly</WindowType>
                      <WindowBegin>
                        <Month>null</Month>
                        <Day>null</Day>
                      </WindowBegin>
                      <WindowEnd>
                        <Month>null</Month>
                        <Day>null</Day>
                      </WindowEnd>
        </Window>
        <Window>
        ....
        </Window>

この質問ではstring.replaceを使用していますが、このリストがクリーンアップする必要のある別のオブジェクト内にある場合、xmlにギャップが残ります。これには速度が最優先事項であるため、可能であればXStream自体からのアプローチを探していました。

ありがとう

4

1 に答える 1

0

質問を正しく表現しなかった可能性がありますが、(XStreamを介して)見つけた解決策ではタグが正確に削除されませんが、暗黙の名前付けを使用して親タグとその子が結合されます。@BlaiseDoughanの優れたチュートリアルに感謝します。

元)

リストウィンドウ; シリアル化されます:

<windows>
    <Window>
                  <WindowType>Monthly</WindowType>
                  <WindowBegin>
                    <Month>null</Month>
                    <Day>null</Day>
                  </WindowBegin>
                  <WindowEnd>
                    <Month>null</Month>
                    <Day>null</Day>
                  </WindowEnd>
    </Window>
    <Window>
    ....
    </Window>
</windows>

しかし、追加:

@XStreamImplicit(itemFieldName="Window")
List<Window> windows;

シリアル化されます:

        <Window>
                      <WindowType>Monthly</WindowType>
                      <WindowBegin>
                        <Month>null</Month>
                        <Day>null</Day>
                      </WindowBegin>
                      <WindowEnd>
                        <Month>null</Month>
                        <Day>null</Day>
                      </WindowEnd>
        </Window>
        <Window>
        ....
        </Window>
于 2012-05-24T14:41:58.577 に答える