• java解析Xml格式的字符串


    最近在工作中,需要调别的接口,接口返回的是一个字符串,而且内容是xml格式的,结果在解析json的时候报错,最终修改了接口的返回方式,以Map返回,
    才得以接收到这个xml的字符串,然后通过dom4j来解析这个xml字符串。xml格式如图:

    解析代码如下:

    /**
         * dom4j解析Xml
         * @param xml
         */
        public void getXmlAttribute(String xml) {
            Document doc = null;
            try {
                // 将字符串转为XML
                doc = DocumentHelper.parseText(xml);
                // 获取根节点
                Element rootElt = doc.getRootElement();
                //获取城市名
                String cityPair = rootElt.attributeValue("CityPair");
                System.out.println(cityPair);
                //获取CWS节点
                Iterator CWS = rootElt.elementIterator("CWS");
                while (CWS.hasNext()) {
                    Element recordEle = (Element) CWS.next();
                    //获取ABK节点
                    Iterator ABK = recordEle.elementIterator("ABK");
                    while (ABK.hasNext()) {
                        Element abkRecord = (Element) ABK.next();
                        //获取ABK节点下的所有节点
                        Iterator f = abkRecord.elementIterator();
                        while (f.hasNext()) {
                            BkresultBean bkresultBean = new BkresultBean();
                            Element itemAtr = (Element) f.next();
                            //获取需要的数据
                            itemAtr.elementText("");
                            String berth1 = itemAtr.attributeValue("Berth1");
                            String priceOfOne = itemAtr.attributeValue("PriceOfOne");
    
                            System.out.println(berth1 + priceOfOne);
    //                            bkresultBean.setBerth1(berth1);
    //                            bkresultBean.setPriceofone(priceOfOne);
    //                            bkresultBean.setFightline(cityPair);
    //                            bkresultBeans.add(bkresultBean);
                        }
                    }
                }
    
                //插入数据
    //            bkresultBeans.forEach(bkresultBean -> {
    //                Integer insert = bkresultMapper.insertAllColumn(bkresultBean);
    //            });
    
            } catch (DocumentException e) {
                e.printStackTrace();
            }
        }
    

    小结

    工作总结。

  • 相关阅读:
    序列化的两个模块(json和pickle)
    re模块(Python中的正则表达式)
    random模块(随机数库)
    time模块
    ==还款-代偿(csv循环自动代偿)
    JMeter-性能测试监控(解决.sh文件的启动)
    JMeter-生成性能测试结果报告
    mac 添加环境变量(jmeter添加至环境变量中)
    JMeter+Ant-自动发送测试结果报告邮件
    charles-Andriod 手机手机抓包乱码
  • 原文地址:https://www.cnblogs.com/black-spike/p/9776180.html
Copyright © 2020-2023  润新知