zoukankan      html  css  js  c++  java
  • 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();
            }
        }
    

    小结

    工作总结。

  • 相关阅读:
    PHP应用目录结构设计
    php 项目性能优化
    Zend Framework的PHP编码规范【1】
    php 如何做在线人数统计
    linux 文件权限
    总结:常用的通用数据处理指令
    全排列(含递归和非递归的解法)
    局部变量,静态局部变量,全局变量,静态全局变量在内存中的存放区别(转)
    C++中引用详解
    Pascal三角形
  • 原文地址:https://www.cnblogs.com/black-spike/p/9776180.html
Copyright © 2011-2022 走看看