Java Hutool工具xmlToMap
1、pom
<!-- hutool https://www.hutool.cn/docs/#/ --> <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.8.5</version> </dependency>
2、demo
String xml = "<root>\n" +
"<users>\n" +
"<user>\n" +
" <user>zhangsan</user>\n" +
" <message>success</message>\n" +
"</user>\n" +
"<user>\n" +
" <user>lisi</user>\n" +
" <message>fail</message>\n" +
"</user>\n" +
"</users>\n" +
"</root>\n";
Map<String, Object> map = XmlUtil.xmlToMap(xml);
log.info("{}", map.values()); // [{user=[{message=success, user=zhangsan}, {message=fail, user=lisi}]}]
List<Object> list = new ArrayList(map.values());
for (int i = 0; i < list.size(); i++) {
log.info("list.{} => {}", i, list.get(i)); // list.0 => {user=[{message=success, user=zhangsan}, {message=fail, user=lisi}]}
Map<String, Object> m1 = (HashMap)list.get(i);
List<Object> l1 = new ArrayList(m1.values());
for (int j = 0; j < l1.size(); j++) {
log.info("l1.{} => {}", j, l1.get(j)); // l1.0 => [{message=success, user=zhangsan}, {message=fail, user=lisi}]
List<Xuser> l2 = (List<Xuser>)l1.get(j);
for (int k = 0; k < l2.size(); k++) {
log.info("l2.{} => {}", k, l2.get(k)); // l2.0 => {message=success, user=zhangsan} l2.1 => {message=fail, user=lisi}
}
}
}
有些事情,没经历过不知道原理,没失败过不明白奥妙,没痛苦过不了解真谛。临渊羡鱼,不如退而结网!

浙公网安备 33010602011771号