zoukankan      html  css  js  c++  java
  • dom4j解析xml文件和字符串

    转自:http://www.cnblogs.com/black-spike/p/9776180.html

    最近在工作中,需要调别的接口,接口返回的是一个字符串,而且内容是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();
            }
        }
  • 相关阅读:
    #leetcode687.最长同值路径
    #leetcode404.所有左叶子节点之和
    #leetcode111.二叉树的最小深度
    #leetcode101.对称二叉树
    #leetcode437.路径总和II
    #leetcode112.路径总和
    #leetcode543.二叉树的直径
    #leetcode110.平衡二叉树
    springboot数据库密码加密-使用自定义加密算法
    PHP加密
  • 原文地址:https://www.cnblogs.com/sharpest/p/7877492.html
Copyright © 2011-2022 走看看