加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

解析XML请求(明文模式)

发布时间:2020-12-16 08:38:33 所属栏目:百科 来源:网络整理
导读:XML格式: xml ToUserName![CDATA[toUser]]/ToUserName FromUserName![CDATA[fromUser]]/FromUserName CreateTime1348831860/CreateTime MsgType![CDATA[text]]/MsgType Content![CDATA[this is a test]]/Content MsgId1234567890123456/MsgId /xml 解析XML

XML格式:

<xml>
 <ToUserName><![CDATA[toUser]]></ToUserName>
 <FromUserName><![CDATA[fromUser]]></FromUserName> 
 <CreateTime>1348831860</CreateTime>
 <MsgType><![CDATA[text]]></MsgType>
 <Content><![CDATA[this is a test]]></Content>
 <MsgId>1234567890123456</MsgId>
 </xml>

解析XML后,通过HashMap<String,String>保存。

导入dom4j-1.6.1.jar包

代码如下:

public static HashMap<String,String> parseXML(HttpServletRequest request) throws Exception {
    HashMap<String,String> map = new HashMap<String,String>();
 
    // 通过IO获得Document
    SAXReader reader = new SAXReader();
    Document doc = reader.read(request.getInputStream());
 
    // 得到xml的根节点
    Element root = doc.getRootElement();
    recursiveParseXML(root,map);
 
    return map;
}
 
public static void recursiveParseXML(Element root,HashMap<String,String> map) {
    // 得到根节点的子节点列表
    List<Element> elementList = root.elements();
 
    if (elementList.size() == 0) {
        map.put(root.getName(),root.getTextTrim());
    } else {
        for (Element e : elementList) {
            recursiveParseXML(e,map);
        }
    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读