Skip to content

XmlUtil.xmlToBean转换失败 #3136

@Rain-Chen

Description

@Rain-Chen


#1663
该issues基础上进行测试
对BUG进行修改,修改两个模型为以下模型:

@Data
class SmsRes {
    /**
     * 状态码.
     */
    private String code;

    /**
    * 消息.
    */
    private Message message;
}

@Data
class Message {
    
    /**
     * 消息项.
     */
	private List<MessageItem> item = new ArrayList<>();
}

@Data
class MessageItem {

    /**
     * 手机号.
     */
    private String desmobile;
    /**
     * 消息id.
     */
    private String msgid;
}

使用相同测试用例
1、String xmlStr = "<?xml version=\"1.0\" encoding=\"gbk\" ?><response><code>02</code></response>"; 测试通过
2、String xmlStr = "<?xml version=\"1.0\" encoding=\"gbk\" ?><response><code>02</code><message></message></response>"; 异常
异常栈:

Exception in thread "main" cn.hutool.core.convert.ConvertException: Unsupported source type: class java.lang.String
	at cn.hutool.core.convert.impl.BeanConverter.convertInternal(BeanConverter.java:84)
	at cn.hutool.core.convert.AbstractConverter.convert(AbstractConverter.java:58)
	at cn.hutool.core.convert.ConverterRegistry.convert(ConverterRegistry.java:228)
	at cn.hutool.core.convert.ConverterRegistry.convert(ConverterRegistry.java:247)
	at cn.hutool.core.convert.Convert.convertWithCheck(Convert.java:753)
	at cn.hutool.core.bean.copier.CopyOptions.lambda$new$0(CopyOptions.java:92)
	at cn.hutool.core.bean.copier.CopyOptions.convertField(CopyOptions.java:349)
	at cn.hutool.core.bean.copier.MapToBeanCopier.lambda$copy$0(MapToBeanCopier.java:91)
	at java.util.HashMap.forEach(HashMap.java:1289)
	at cn.hutool.core.bean.copier.MapToBeanCopier.copy(MapToBeanCopier.java:60)
	at cn.hutool.core.bean.copier.BeanCopier.copy(BeanCopier.java:92)
	at cn.hutool.core.bean.BeanUtil.copyProperties(BeanUtil.java:771)
	at cn.hutool.core.bean.BeanUtil.toBean(BeanUtil.java:567)
	at cn.hutool.core.bean.BeanUtil.toBean(BeanUtil.java:549)
	at cn.hutool.core.bean.BeanUtil.toBean(BeanUtil.java:505)
	at cn.hutool.core.util.XmlUtil.xmlToBean(XmlUtil.java:991)

使用5.8.19版本

Originally posted by @Rain-Chen in #1663 (comment)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions