XML
<?xml version=1.0 encoding=UTF-8?>
<soapenv:Envelope xmlns:soapenv="http://xxx.xxx.org/xxx/xxx/">
<soapenv:Body>
<ns:getBasicPersonInfoResponse xmlns:ns="http://www.xxx.com/xsd">
<ns:return>{"code":"1000","msg":"success","data":"<ERROR>0</ERROR><INFO></INFO><CARD><社会保障卡卡号>88888888</社会保障卡卡号><卡识别码>6987415D156888885403E61D29D4EA5tg</卡识别码><卡片复位信息>00dfdgdfdfdd9888888101C8149A</卡片复位信息><发卡日期>20210506</发卡日期><卡有效期>20310506</卡有效期><卡应用状态>2</卡应用状态><开户银行行号>8888888888888888</开户银行行号><银行卡卡号>8888888888888888888</银行卡卡号><发卡地行政区划代码>6987415</发卡地行政区划代码><卡面姓名>张三三</卡面姓名><卡面社会保障号码>888888888888888888</卡面社会保障号码><卡规范版本>3.00</卡规范版本></CARD>"}</ns:return>
</ns:getBasicPersonInfoResponse>
</soapenv:Body>
</soapenv:Envelope>
引入依赖
dom4j是一个Java的XML API,是jdom的升级品,用来读写XML文件的。
<dependency>
<groupId>org.dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>2.1.3</version>
</dependency>
解析代码
import org.dom4j.Element;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
/**
* @param text xml文本
*/
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<String, Object> toParas(Object pointId, Object text) throws Exception {
String xml = String.format("<ROOT>%s</ROOT>", text);
Document doc = DocumentHelper.parseText(xml);
Element root = doc.getRootElement();
Element card = root.element("CARD");
LinkedHashMap<String, Object> map = new LinkedHashMap<>();
map.put("pointId", pointId);
map.put("userName", card.elementText("卡面姓名"));
map.put("cardNumber", card.elementText("卡面社会保障号码"));
return map;
}
路漫漫其修远兮,吾将上下而求索
译文:在追寻真理方面,前方的道路还很漫长,但我将百折不挠,不遗余力地去追求和探索。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至123456@qq.com 举报,一经查实,本站将立刻删除。