解析XML时如何让XStream跳过未映射的标签? [英] How to make XStream skip unmapped tags when parsing XML?

查看:20
本文介绍了解析XML时如何让XStream跳过未映射的标签?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个大型 XML 文档,我想将其转换为 Java bean.它有很多标签和属性,但我只对其中的一小部分感兴趣.不幸的是,XStream 似乎强制您在该 bean 中为可能存在于该 XML 中的每个标记声明一个属性.有没有办法解决这个问题?

I have a large XML document that I want to convert to a Java bean. It has a lot of tags and attributes, but I'm interested only in a handful of those. Unfurtounately, it seems that XStream forces you to declare a property in that bean for each and every tag that may ever be in that XML. Is there a way around this?

推荐答案

如下所示初始化 XStream 以忽略未在您的 bean 中定义的字段.

Initialize XStream as shown below to ignore fields that are not defined in your bean.

XStream xstream = new XStream() {
    @Override
    protected MapperWrapper wrapMapper(MapperWrapper next) {
        return new MapperWrapper(next) {
            @Override
            public boolean shouldSerializeMember(Class definedIn, String fieldName) {
                if (definedIn == Object.class) {
                    return false;
                }
                return super.shouldSerializeMember(definedIn, fieldName);
            }
        };
    }
};

这篇关于解析XML时如何让XStream跳过未映射的标签?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆