This commit is contained in:
Looly 2023-03-10 13:23:59 +08:00
parent 35feac4eae
commit 8a154315fe
3 changed files with 8 additions and 5 deletions

View File

@ -3,14 +3,13 @@
-------------------------------------------------------------------------------------------------------------
# 6.0.0.M1 (2022-10-09)
# 6.0.0.M1 (2023-03-10)
### 计划实现
* 【poi 】 PDF相关基于PdfBox
* 【poi 】 HTML、DOCX转换相关
* 【poi 】 Markdown相关如HTML转换等基于commonmark-java
* 【db 】 增加DDL封装
* 【poi 】 CellUtil.getCellIfMergedRegion考虑添加缓存支持增加最大和最小范围判断减少遍历
* 【http 】 公共代理和SSL验证
### ❌不兼容特性

View File

@ -988,7 +988,11 @@ public class XmlUtil {
public static <T> T xmlToBean(final Node node, final Class<T> bean) {
final Map<String, Object> map = xmlToMap(node);
if (null != map && map.size() == 1) {
return BeanUtil.toBean(CollUtil.get(map.values(), 0), bean);
final String nodeName = CollUtil.getFirst(map.keySet());
if (bean.getSimpleName().equalsIgnoreCase(nodeName)) {
// 只有key和bean的名称匹配时才做单一对象转换
return BeanUtil.toBean(CollUtil.get(map.values(), 0), bean);
}
}
return BeanUtil.toBean(map, bean);
}

View File

@ -351,7 +351,7 @@ public class XmlUtilTest {
@Test
public void xmlStrToBeanTest(){
final String xml = "<user><name>张三</name><age>20</age><email>zhangsan@example.com</email></user>";
final String xml = "<userInfo><name>张三</name><age>20</age><email>zhangsan@example.com</email></userInfo>";
final Document document = XmlUtil.readXML(xml);
final UserInfo userInfo = XmlUtil.xmlToBean(document, UserInfo.class);
Assert.assertEquals("张三", userInfo.getName());