日期:2014-05-20  浏览次数:20709 次

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

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



------解决方案--------------------
在你xml中每个element加以个类型的属性 如type=int ,type=string 等
------解决方案--------------------
你既然都定义了PO了。当你set的时候,把取的值,重新按照类型转换一下不行吗?
还是我理解错了你的意思。。