首页 / JAVA / JAVA XStream的使用
JAVA XStream的使用
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了JAVA XStream的使用,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2026字,纯文字阅读大概需要3分钟。
内容图文
![JAVA XStream的使用](/upload/InfoBanner/zyjiaocheng/1124/ec91374ee5894b1db6229bbebd11f819.jpg)
MAVN包:
< dependency >
< groupId >com.thoughtworks.xstream</groupId>
<artifactId>xstream</artifactId>
<version>1.4.9</version>
</dependency>
过滤不能识别的节点
package common;
import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.mapper.MapperWrapper;
public class ETLXstream extends XStream {
/*
* (non-Javadoc)
*
* @see
* com.thoughtworks.xstream.XStream#wrapMapper
*/
@Override
protected MapperWrapper wrapMapper(MapperWrapper next) {
return new MapperWrapper(next) {
/*
* (non-Javadoc)
*
* @see
* com.thoughtworks.xstream.mapper.MapperWrapper#shouldSerializeMember
*/
@Override
public boolean shouldSerializeMember(@SuppressWarnings("rawtypes") Class definedIn, String fieldName) {
// 不能识别的节点,掠过。
if (definedIn == Object.class){
try {
return this.realClass(fieldName) != null;
} catch (Exception e){
return false;
}
} else {
return super.shouldSerializeMember(definedIn, fieldName);
}
}
};
}
}
XMLHelper封装类
package common;
import java.io.InputStream;
import java.lang.Class;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
public class XmlHelper {
public static <T> String ToXml(T object, HashMap<String, Class> map) {
ETLXstream xstream = getXStream(map);
for (Entry<String, Class> entry : map.entrySet()) {
xstream.alias(entry.getKey(), entry.getValue());
}
return xstream.toXML(object);
}
public static <T> T ToObject(String xml, HashMap<String, Class> map) {
ETLXstream xstream = getXStream(map);
T object = (T) xstream.fromXML(xml);
return object;
}
public static <T> T ToObject(InputStream stream, HashMap<String, Class> map) {
ETLXstream xstream = getXStream(map);
T object = (T) xstream.fromXML(stream);
return object;
}
private static ETLXstream getXStream(HashMap<String, Class> map) {
ETLXstream xstream = new ETLXstream();
for (Entry<String, Class> entry : map.entrySet()) {
xstream.alias(entry.getKey(), entry.getValue());
}
return xstream;
}
}
原文:https://www.cnblogs.com/nation/p/8880818.html
内容总结
以上是互联网集市为您收集整理的JAVA XStream的使用全部内容,希望文章能够帮你解决JAVA XStream的使用所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。
来源:【匿名】