Java调用Http接口返回的xml,解析返回Json

请求得到的xml

Java调用Http接口返回的xml,解析返回Json_第1张图片

1.首先我把请求的路径放到了配置文件里

2.通过Spring提供的注解来读取配置文件

Java调用Http接口返回的xml,解析返回Json_第2张图片

3.如果测试读取不到配置路径,检查一下有没有讲配置文件加到SpringContext容器里(在Spring-mvc,xml里配置)

4.进入主题,采用don4j来解析xml

 @RequestMapping("/getAllNotAcceptedCaseList")
    @ResponseBody
    public JsonResult GetAllNotAcceptedCaseList() throws Exception {

        Map map = new HashMap<>();

        try {
            SAXReader reader = new SAXReader();
            Document document = reader.read(new URL(webServiceUrl));
            //获取根节点
            Element rootElement = document.getRootElement();
            //子节点
            List childElements = rootElement.elements();
            //注意获取xml标签一定要一层一层的获取,或者可以采用xpath的方法,不过我这里试了xpath报错获取不到 ,最后还是一层一层的获取的,确实有点麻烦,不知道大佬们还有什么好的方法
            Element newDataSet = childElements.get(1).element("NewDataSet");
            
            Iterator iterator1 = newDataSet.elementIterator();
            while (iterator1.hasNext()){
                Element book = (Element) iterator1.next();
                String bookName = book.attribute(0).getValue();
                map.put(bookName,"");
                System.out.println("============="+"表单"+bookName+"遍历开始=========");
                //List book = e.elements();
                Iterator it = book.elementIterator();
                Map map1 = new HashMap<>();
                while (it.hasNext()){
                    Element bookChild =(Element)it.next();
                    String name = bookChild.getName();
                    String text = bookChild.getText();
                    //采用map嵌套,返回Json格式
                    map1.put(name,text);
                    map.put(bookName,map1);
                    System.out.println("---"+name+":"+text);
                }
                System.out.println("============="+"表单"+bookName+"遍历结束=========");
            }
        }catch (Exception e){
            e.printStackTrace();
        }
        return new JsonResult(map);
    }
}

5.控制台打印显示

Java调用Http接口返回的xml,解析返回Json_第3张图片

6.响应Json数据显示

Java调用Http接口返回的xml,解析返回Json_第4张图片

==============如有疑问欢迎留言,菜鸟一枚,不足之处请指教==============

你可能感兴趣的:(Spring)