xstream cdata 处理方式之一

XStream xStream = new XStream(
                    new XppDriver(){
                        @Override
                        public HierarchicalStreamWriter createWriter(Writer out) {
                            return new PrettyPrintWriter(out){
                                boolean cdata = false;
                                @Override
                                public void startNode(String name, Class clazz) {
                                    super.startNode(name, clazz);
                                    cdata = name.equalsIgnoreCase("value");
                                }

                                @Override
                                public void setValue(String text) {
                                    super.setValue(text);    //To change body of overridden methods use File | Settings | File Templates.
                                }

                                @Override
                                protected void writeText(QuickWriter writer, String text) {
                                    if(cdata){
                                        writer.write("<![CDATA[");
                                        writer.write(text);
                                        writer.write("]]>");
                                    }else {
                                        writer.write(text);
                                    }
                                }
                            };
                        }
                    }
            );
xStream.alias("parameters", List.class);
xStream.alias("parameter", Parameter.class);
xStream.useAttributeFor(Parameter.class,"index");
xStream.useAttributeFor(Parameter.class,"label");
xStream.useAttributeFor(Parameter.class,"paramType");
xStream.useAttributeFor(Parameter.class,"required");
xStream.useAttributeFor(Parameter.class,"editable");
xStream.useAttributeFor(Parameter.class,"encrypt");
return xStream.toXML(obj);
重点在于 boolean 变量的修改

转载于:https://my.oschina.net/skyline520/blog/128298

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值