5

次の形式でxmlを作成したい

<parm-list>
<param>
<NAME>somename</NAME>
<VALUE>somevalue</VALUE>
</param>
<param>
<NAME>somename</NAME>
<VALUE>somevalue</VALUE>
</param>
<param>
<NAME>somename</NAME>
<VALUE>somevalue</VALUE>
</param>
<param>
<NAME>somename</NAME>
<VALUE>somevalue</VALUE>
</param>
</param-list>

<PARAM>特定のフィールドが 必要ない場合はどうすればよい<NAME>ですか?

4

1 に答える 1

1

Xstreamがこのタスクに本当に適しているとは思いませんが、可能であるように思われます。

それらの1つに似た独自のコンバーターを実装できます。Converterインターフェースを見ると、に何も書き込まないことで要素を簡単にスキップできることがわかりますHierarchicalStreamWriter

public class ParamConverter implements Converter{

    boolean canConvert(Class type){
        return Param.class.equals(type);
    }

    public void marshal(Object source, HierarchicalStreamWriter writer, MarshallingContext context){
        Param param = (Param)source;
        if (NAME_TO_SKIP.equals(param.getName()){
            return;
        }
        // delegate to ReflectionConverter or something else appropriate.
    }   
}

コンバーターを登録するには、を呼び出すだけxStram.registerConverter(new ParamConverter());です。

詳細については、コンバータに関するこのチュートリアルをお読みください。

于 2012-09-14T12:34:44.883 に答える