将json转成xml数据进行推送,打印出最终推送xml的数据格式,再调整代码

直接上代码,详情请看代码注释

    public void pushReceipt(JSONObject jsonObj) {
        try {
            // 创建 XML 文档
            Document doc = createXmlDocument();
            // 构建 XML 结构
            Element rootElement = getElement(doc, "F2");
            // 设置更多属性
            Element billElement = doc.createElement("bill");
            billElement.setAttribute("id", SnowflakeIdWorker.nextStr());

            Element billHeadElement = doc.createElement("billhead");
            // 设置 billhead 下的各个子元素
            setBillHeadAttributes(billHeadElement, jsonObj);
            // 将 billhead 添加到 bill 下
            billElement.appendChild(billHeadElement);
            // 将 bill 添加到 rootElement 下
            rootElement.appendChild(billElement);
            // 将 rootElement 添加到文档中
            doc.appendChild(rootElement);
            // 将 XML 文档转换为字符串输出
            String xmlString = transformDocumentToString(doc);
            //查看此处推送的xml数据格式,然后根据代码调整你的xml数据
            log.info(xmlString);

            // 发送POST请求并接收响应
            HttpResponse response = HttpUtil.createPost(url)
                    .body(xmlString)
                    .header("Content-Type", "application/xml")
                    .header("Accept", "application/xml")
                    .execute();

            // 检查响应状态码
            int responseCode = response.getStatus();
            log.info("响应状态码 : {}", responseCode);
            // 读取响应体
            String responseBody = response.body();
            log.info("响应体 : {}", responseBody);
        } catch (Exception e) {
            log.error("请求报错:{}", e.getMessage());
            e.printStackTrace();
        }
    }

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部