欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

java 转xml 变成两根下划线_XStream将java对象转换为xml时,对象字段中的下划线“_”,转换后变成了两个...

发布时间:2025/3/20 47 豆豆
生活随笔 收集整理的这篇文章主要介绍了 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时,对象字段中的下划线“_”,转换后变成了两个...的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。