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 真的适合这项任务,但它似乎是可能的。

您可以实现自己的转换器,类似于其中之一。如果您查看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 回答