java xml集合标签_将xml字符串的所有叶标签转换成Map集合

importjava.util.HashMap;importjava.util.List;importjava.util.Map;importorg.dom4j.Document;importorg.dom4j.DocumentHelper;importorg.dom4j.Element;public classXmlUtil {/*** 接收xml文件字符串,返回一个Map,其包含xml中所有叶节点的K-V,举例:

* 入参:

*

*

* aa

* aaa

*

*

* bb

* bbb

*

* c

*

* 返回:

* {aa=aa, aaa=aaa, bb=bb, bbb=bbb, c=c}

*

*@paramxmlStr xml文件字符串

*@return

*/

public static Mapxml2Map(String xmlStr) {

Map map = new HashMap();try{//将xml格式的字符串转换成Document对象

Document doc =DocumentHelper.parseText(xmlStr);//获取根节点

Element root =doc.getRootElement();//将xml的所有叶节点的name-value封装进Map

leafNode2Map(map, root);

}catch(Exception e) {

e.printStackTrace();

}returnmap;

}/*** 将xml的所有叶节点的name-value封装进Map

*

*@parammap

*@paramnode*/@SuppressWarnings("unchecked")private static void leafNode2Map(Mapmap, Element node) {

List elements =node.elements();if (elements == null || elements.size() == 0) {

map.put(node.getName(), node.getTextTrim());

}else{for(Element element : elements) {//递归

leafNode2Map(map, element);

}

}

}public static voidmain(String[] args) {

String xmlStr= "<?xml version=\"1.0\" encoding=\"UTF-8\"?>aaaaabbbbbc";

Map map =xml2Map(xmlStr);

System.out.println(map);//{aa=aa, aaa=aaa, bb=bb, bbb=bbb, c=c}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值