xml文件内容:

.....

......

需求:

我定义了一个类为UpdateHandler,该类具有一个private 属性,名为className,在利用xstream从xml实例化类的时候,我用到下面的代码:

xStream.alias("updateHandler", UpdateHandler.class);

xStream.useAttributeFor("className",String.class);

xStream.aliasAttribute("class", "className");

总是出错,出错内容如下:

-------------------------------------

Exception in thread "main" com.thoughtworks.xstream.converters.ConversionException: solr.DirectUpdateHandler2 : solr.DirectUpdateHandler2

---- Debugging information ----

required-type       : com.giant.dre.config.GiantSolrConfig

cause-message       : solr.DirectUpdateHandler2 : solr.DirectUpdateHandler2

class               : com.giant.dre.config.GiantSolrConfig

message             : solr.DirectUpdateHandler2 : solr.DirectUpdateHandler2

line number         : 59

path                : /config/updateHandler

cause-exception     : com.thoughtworks.xstream.mapper.CannotResolveClassException

-------------------------------

at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:63)

at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:45)

at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:46)

at com.thoughtworks.xstream.core.TreeUnmarshaller.start(TreeUnmarshaller.java:117)

at com.thoughtworks.xstream.core.ReferenceByXPathMarshallingStrategy.unmarshal(ReferenceByXPathMarshallingStrategy.java:29)

at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:826)

at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:813)

at com.thoughtworks.xstream.XStream.fromXML(XStream.java:761)

at com.giant.dre.config.GiantSolrConfigManager.parseXmlAndFillConfig(GiantSolrConfigManager.java:22)

at com.giant.test.XstreamTest.main(XstreamTest.java:15)

Caused by: com.thoughtworks.xstream.mapper.CannotResolveClassException: solr.DirectUpdateHandler2 : solr.DirectUpdateHandler2

at com.thoughtworks.xstream.mapper.DefaultMapper.realClass(DefaultMapper.java:49)

at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:26)

at com.thoughtworks.xstream.mapper.XStream11XmlFriendlyMapper.realClass(XStream11XmlFriendlyMapper.java:23)

at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:26)

at com.thoughtworks.xstream.mapper.ClassAliasingMapper.realClass(ClassAliasingMapper.java:72)

at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:26)

at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:26)

at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:26)

at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:26)

at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:26)

at com.thoughtworks.xstream.mapper.DynamicProxyMapper.realClass(DynamicProxyMapper.java:60)

at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:26)

at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:26)

at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:26)

at com.thoughtworks.xstream.mapper.ArrayMapper.realClass(ArrayMapper.java:76)

at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:26)

at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:26)

at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:26)

at com.thoughtworks.xstream.mapper.CachingMapper.realClass(CachingMapper.java:34)

at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.determineType(AbstractReflectionConverter.java:248)

at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.doUnmarshal(AbstractReflectionConverter.java:155)

at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshal(AbstractReflectionConverter.java:118)

at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:56)

... 9 more

--------------------------------------------------------------

我猜测可能是xml里面的class具有特殊的含义,不能当做一般的属性名来使用,于是我修改上面的代码如下:

首先修改xml为:

.....

......

然后修改代码为:

xStream.alias("updateHandler", UpdateHandler.class);

xStream.useAttributeFor("className",String.class);

xStream.aliasAttribute("classx", "className");

这样果然不会错了。

xml里面的class具有特殊意义吗?或者xstream在解析的时候会理解class为特殊意义?可是我的xml里面的属性名class是不能随便改的,有没有什么办法可以做到吗?

2008年11月17日 16:41

xstream不映射字段_用xstream 将xml映射为类对象遇到的问题相关推荐

  1. xstream不映射字段_这本XStream学习手册,真的不来看看?

    一.前言 1.XStream官网 http://x-stream.github.io 2.XStream是什么 XStream是一个简单的基于Java的类库,用来将Java对象序列化成XML(JSON ...

  2. java+基于dom4j工具类_基于dom4j的xml映射实体的工具类(java)

    基于dom4j的xml映射实体的工具类(java) 工具是基于dom4j,使用反射使实体属性与xml的标签关联,目前兼容List,Map后续更新兼容. 历史更新: 发布-2019-6-22 增加注解@ ...

  3. 磊科762虚拟服务器静态,路由器端口映射教程_磊科NW717路由器端口映射设置教程...

    端口映射在磊科NW717路由器中,叫做虚拟服务器;端口映射的作用是把访问路由器WAN口IP地址的请求,映射(转发)到内网中的某台计算机上网,具体请看下面小编介绍的操作方法! 磊科NW717端口映射设置 ...

  4. 图像分割技术语义分割代码_用5行代码对150类对象进行语义分割

    图像分割技术语义分割代码 It is now possible to perform segmentation on 150 classes of objects using ade20k model ...

  5. python 映射使用_使用Python实现端口映射

    转自: http://www.tuicool.com/articles/VRNzaq 1 端口映射 举个例子来说明一下端口映射的作用. 有A.B.C三台计算机,A.B互通,B.C互通,但是A.C不通, ...

  6. dom4j工具类_基于DOM4J的XML文件解析类

    XML文件解析分四类方式:DOM解析:SAX解析:JDOM解析:DOM4J解析.其中前两种属于基础方法,是官方提供的平台无关的解析方式:后两种属于扩展方法,它们是在基础的方法上扩展出来的,只适用于ja ...

  7. xstream不映射字段_Mybatis_day03:输入映射和输出映射

    输入映射和输出映射 Mapper.xml映射文件中定义了操作数据库的sql,每个sql是一个statement,映射文件是mybatis的核心. parameterType(输入类型) 传递简单类型 ...

  8. jaxb 映射 空字段_推土机:将JAXB对象映射到业务/域对象

    jaxb 映射 空字段 Dozer是开放源代码( Apache 2许可 )" Java Bean到Java Bean映射器,可将数据从一个对象递归复制到另一个对象". 正如从其主页 ...

  9. EF映射字段类型不一致

    EF映射字段类型不一致 使用EF映射在做项目的过程中,报了一个字段类型不兼容的错误. 错误:2019: 指定的成员映射无效.类型"excellentmcoinModel.t_user&quo ...

最新文章

  1. 【EMC】EMC屏蔽设计
  2. 详解让人闹心的C++语句 cout<<“Hello“<<endl;
  3. Android --- Android Studio 错误: 非法字符: ‘\ufeff’
  4. Ubuntu MTK/RK/AW 编译服务器
  5. keil生成hex文件找不到_骚操作!用Python把公众号文章打包成pdf文件,再也不怕找不到了...
  6. MySQL---数据库从入门走向大神系列(十五)-Apache的DBUtils框架使用
  7. 江苏计算机信息录入技师选拔考试题,2010年江苏省机关事业单位工人技师资格选拔考试试卷...
  8. mysql 性能问题_mysql性能问题
  9. [Hands On ML] 8. 降维
  10. Oracle笔记:备份还原
  11. 基于Matlab的跨孔电磁波\跨孔雷达的直射线追踪(一)
  12. Android学习笔记---29_构建soap协议内容,发送xml数据和调用webservice,手机号码归属地查询器
  13. linux服务器分区方案
  14. 我的博客学习记录一箩筐(每天更新)
  15. Docker教程:docker远程repository和自建本地registry
  16. 使用Xcode真机调试时没有任何问题,但是当打包成ipa文件安装时,有接口访问不到后台信息
  17. java jcp_太久了,JCP:Eclipse考虑了新的Java规范流程
  18. ESP8266使用MQTT接入阿里IoT
  19. 假期培训日记(数论)
  20. 基于android端计步器软件的尝试

热门文章

  1. ubuntu下源码安装Python
  2. docker部署ubuntu并连接ssh远程调试代码
  3. 《scikit-learn》决策树之回归树
  4. 漫步最优化三十七——共轭梯度法
  5. 漫步数理统计五——条件概率与独立(上)
  6. miniui 查询_JQueryMiniUI按照时间进行查询的实现方法
  7. 降低代码执行中得内存消耗_微服务中使用 OpenJ9 JVM内存占用降低60%!
  8. win7安装TensorFlow-gpu 2.3详细教程(CUDA10.1,cuDNN7)
  9. leetcode - 739. 每日温度
  10. Golang笔记——json介绍