解析xml生成对象的通用模块

上代码:

 

说一下思路,xml主要起到在web服务之间传递数据的作用。比如:某应用需要用户的信息,调用别的接口返回了xml格式的数据。

其中就保存了用户数据,其中的某段结构可能如下:

<User>

<name>张三</name>

<age>22</age>

<sex>男</sex>

</User>

这段xml可能只属于返回值的一部分,被层层xml节点包围着。也许这样的片段会出现多次,表示多个用户的数据。

那么用xpath来查找出所有的User节点就行了,dom4j拥有很强大的xpath查询功能。在使用xpath时可能会遇到xml命名空间的问题,我下次再说。

这些体现对象数据的xml片段的格式很可能没有我举例得这么简单,但我假设User节点之下的所有包含数据的子节点都是对象属性的一部分。用递归法遍历所有子节点,将取得的数据和对应的节点名存在Map里面。

用java的反射机制,来动态实例化对象。传入的classType就是将要实力化的对象的类型。用不带参数的构造函数实例化对象之后,在调用每个属性各自的set方法,将数据填充到对象之中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值