java 转xml 变成两根下划线_XStream将java对象转换为xml时,对象字段中的下划线“_”,转换后变成了两个...
使用XStream将java对象转换为xml时,需要对其中的一个字段加上CDATA,于是我自定义了一个XStream,主要代码如下:publicstaticXStreamcreateXstream(){returnnewXStream(newXppDriver...
使用XStream将java对象转换为xml时,需要对其中的一个字段加上CDATA,于是我自定义了一个XStream,主要代码如下:
public static XStream createXstream() {
return new XStream(new XppDriver(new XmlFriendlyReplacer("-_", "_"))) {
public HierarchicalStreamWriter createWriter(Writer out) {
return new PrettyPrintWriter(out) {
boolean cdata = false;
@Override
public void startNode(String name, @SuppressWarnings("rawtypes") Class clazz) {
super.startNode(name, clazz);
//对于用XStreamCDATA标记的theme字段,需要加上CDATA标签
if (name.equals("theme")) {
cdata = needCDATA(clazz, name);
}
}
@Override
protected void writeText(QuickWriter writer, String text) {
if (cdata) {
writer.write(“”);
} else {
writer.write(text);
}
}
};
}
};
}
通过这种方式创建XStream,XStream xstream = new XStream(new XppDriver(new XmlFriendlyReplacer("_-", "_")));
然后都调用xstream.toXML,自定义的user_name变成了user__name(多一个下划线),而后者是正常的,但是没有添加CDATA标签,怎么既能添加CDATA,且user_name下划线正常呢?
在网上找的一些资料:http://www.iteye.com/problems/94338,启东时报AnnotationXStreamMarshaller找不到,可能是少jar包导致的,但又找不到相关jar。
展开
总结
以上是生活随笔为你收集整理的java 转xml 变成两根下划线_XStream将java对象转换为xml时,对象字段中的下划线“_”,转换后变成了两个...的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: java 事务处理 是不是aop思想_理
- 下一篇: openssl java使用手册_ope