XML
<?xml version='1.0' encoding='UTF-8'?> {"code":"1000","msg":"success","data":"<ERROR>0</ERROR><INFO></INFO><CARD><社会保障卡卡号>88888888</社会保障卡卡号><卡识别码>6987415D156888885403E61D29D4EA5tg</卡识别码><卡片复位信息>00dfdgdfdfdd9888888101C8149A</卡片复位信息><发卡日期>20210506</发卡日期><卡有效期>20310506</卡有效期><卡应用状态>2</卡应用状态><开户银行行号>8888888888888888</开户银行行号><银行卡卡号>8888888888888888888</银行卡卡号><发卡地行政区划代码>6987415</发卡地行政区划代码><卡面姓名>张三三</卡面姓名><卡面社会保障号码>888888888888888888</卡面社会保障号码><卡规范版本>3.00</卡规范版本></CARD>"}
引入依赖
dom4j是一个Java的XML API,是jdom的升级品,用来读写XML文件的。
org.dom4j dom4j 2.1.3
解析代码
private YlzResponse getYlzResponse(String text) throws Exception { document doc = documentHelper.parseText(text); Element root = doc.getRootElement(); Element body = root.element("Body"); Element info = body.element("getBasicPersonInfoResponse"); Element result = info.element("return"); return Helper.fromJson(result.getText(), YlzResponse.class);}private linkedHashMap toParas(Object pointId, Object text) throws Exception { String xml = String.format("%s", text); document doc = documentHelper.parseText(xml); Element root = doc.getRootElement(); Element card = root.element("CARD"); linkedHashMap map = new linkedHashMap<>(); map.put("pointId", pointId); map.put("userName", card.elementText("卡面姓名")); map.put("cardNumber", card.elementText("卡面社会保障号码")); return map;}