您的位置 首页 java

Java 解析XML

XML

 <?xml version='1.0' encoding='UTF-8'?>
<soapenv:Envelope xmlns:soapenv="#34;>
    <soapenv:Body>
        <ns:getBasicPersonInfoResponse xmlns:ns="#34;>
            <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;
}  

如果您有什么好的想法与方法,欢迎在评论区留言,我们一起讨论~

文章来源:智云一二三科技

文章标题:Java 解析XML

文章地址:https://www.zhihuclub.com/181349.shtml

关于作者: 智云科技

热门文章

网站地图