通过网上的url获取到了一个xml文件,里面存在各种类型的值(String,int,byte,boolean等)。
我现在通过递归循环获取每一项值,将或缺到的值通过反射(Filed.set(object,value))存入一个PO实例化对象中(这个对象中的每个属性对应xml中的每个标签),问题来了,xml中取出的每一个标签中的值(不管是不是String类型)都是String类型,存入对象就报错,因为有的属性是其他类型,如int等。
现在怎么办?

解决方案 »

  1.   

    你通过反射拿到字段时看看它的类型然后为每个类型注册一个 converter 嘛,然后你在 field.set 之前先查表看看需要什么转换器,先用 converter 转换一下再 set. 一般开源的都是这么做的。内置了 JDK 自带类型的 converter,其它的得我们自己注册。
      

  2.   

    在你xml中每个element加以个类型的属性 如type=int ,type=string 等 
      

  3.   

    你既然都定义了PO了。当你set的时候,把取的值,重新按照类型转换一下不行吗?
    还是我理解错了你的意思。。
      

  4.   

    今天结贴,我找到了更好的解决方案JAXB有兴趣的可以看一下!多谢大家!