失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > java list 自定义类型转换_java – 可以从List生成平面XML结构的XStream自定义转换器?...

java list 自定义类型转换_java – 可以从List生成平面XML结构的XStream自定义转换器?...

时间:2019-11-20 08:13:49

相关推荐

java list 自定义类型转换_java – 可以从List生成平面XML结构的XStream自定义转换器?...

我正在使用XStream,并且有一个类如下的字段:

private Map data;

我想生成这样的XML输出:

test data

test data

test data

所以我希望map键成为元素. mapvalue是XML值,我不希望XML包含在< data>< / data>等元素中.任何人都可以指向执行此操作的示例代码或类似的东西吗?

UPDATE

这只是一个片段,有一个根元素.

更新2

我发布的自定义转换器代码几乎可以使用.我得到一个扁平的结构,但我需要删除外部元素.有什么想法吗?

//this is the result need to remove

test data

test data

test data

这是代码

public class MapToFlatConverter implements Converter{

public MapToFlatConverter() {

}

@Override

public boolean canConvert(Class type) {

return Map.class.isAssignableFrom(type);

}

@Override

public void marshal(Object source, HierarchicalStreamWriter writer, MarshallingContext context) {

Map map = (Map) source;

for (Map.Entry entry : map.entrySet()) {

writer.startNode(entry.getKey());

writer.setValue(entry.getValue().toString());

writer.endNode();

}

}

@Override

public Object unmarshal(HierarchicalStreamReader reader, UnmarshallingContext context) {

//not needed at this time

return null;

}

}

如果觉得《java list 自定义类型转换_java – 可以从List生成平面XML结构的XStream自定义转换器?...》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。