2

使用XStream,如何忽略已定义类型的序列化(例如,在序列化 GUI 时,我想忽略所有摆动类型)?

或者如果我想忽略所有 javax.* 类型?

提前致谢,
伯克哈德

4

1 回答 1

2

您需要为要忽略的类型编写自定义转换器。

例如,如果您想忽略 JLabels:

public class MyJLabelConverter implements Converter {

    @Override
    public void marshal(Object value, HierarchicalStreamWriter writer, MarshallingContext context) {
    }

    @Override
    public Object unmarshal(HierarchicalStreamReader reader, UnmarshallingContext context) {
        return null;
    }

    @Override
    public boolean canConvert(Class clazz) {
        return clazz.equals(JLabel.class);
    }
}

并注册:

xstream.registerConverter(new MyJLabelConverter());
于 2008-11-30T15:28:47.747 回答