Java Xstream如何在封送处理时避免使用具有特定值的字段
我想创建以下格式的xmlJava Xstream如何在封送处理时避免使用具有特定值的字段,java,xml,xstream,Java,Xml,Xstream,我想创建以下格式的xml <parm-list> <param> <NAME>somename</NAME> <VALUE>somevalue</VALUE> </param> <param> <NAME>somename</NAME> <VALUE>somevalue</VALUE> </param> <param> <N
<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>
名字
一些价值
名字
一些价值
名字
一些价值
名字
一些价值
如果我不想在
字段中包含特定的
,我该怎么办?虽然我真的认为Xstream不适合这个任务,但它似乎是可行的
您可以实现自己的转换器,类似于。若您查看一下接口,就会发现您可以通过不向HierarchycalStreamWriter
写入任何内容轻松跳过元素
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(newparamconverter())代码>
有关更多信息,请阅读转换器