博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
农场销售
阅读量:5321 次
发布时间:2019-06-14

本文共 4234 字,大约阅读时间需要 14 分钟。

一: 请求URL

public JSONObject HttpPostFromWorklight(String requestParm, String xslFileName, String strURL) {        System.out.println("strURL=" + strURL);        System.out.println("请求参数:" + requestParm);        ResultNew resultNew = new ResultNew();        JSONObject json = new JSONObject();        try {            URL url = new URL(strURL);// 创建连接            HttpURLConnection connection = (HttpURLConnection) url.openConnection();            connection.setDoOutput(true);            connection.setDoInput(true);            connection.setUseCaches(false);            connection.setInstanceFollowRedirects(true);            connection.setRequestMethod("POST");// 设置请求方式            connection.setRequestProperty("Accept", "text/xml; charset=utf-8");// 设置接收数据的格式            connection.setRequestProperty("Content-Type", "text/xml; charset=utf-8");// 设置发送数据的格式            connection.connect();            OutputStreamWriter out = new OutputStreamWriter(connection.getOutputStream(), "UTF-8");// utf-8编码            out.append(requestParm);            out.flush();            out.close(); // 读取响应            int length = (int) connection.getContentLength();// 获取长度            InputStream is = connection.getInputStream();            if (length != -1) {                byte[] data = new byte[length];                byte[] temp = new byte[512];                int readLen = 0;                int destPos = 0;                while ((readLen = is.read(temp)) > 0) {                    System.arraycopy(temp, 0, data, destPos, readLen);                    destPos += readLen;                }                String result = new String(data, "UTF-8");                System.out.println("RE:" + result);                                String src = returnXml(result, xslFileName, "utf-8");                //System.out.println("src:" + src);                JSONObject jsonObject = JSON.parseObject(src);                //System.out.println("json:" + jsonObject.getString("Items"));                resultNew.setStatusReason("OK");                resultNew.setIsSuccessful(true);                resultNew.setStatusCode(connection.getResponseCode());                json = (JSONObject) JSONObject.toJSON(resultNew);                // 判断json                if (jsonObject.getString("Items").startsWith("[")) {                    json.put("Items", jsonObject.getJSONArray("Items"));                } else if (jsonObject.getString("Items").startsWith("{")) {                    json.put("Items", jsonObject.getJSONObject("Items"));                }                //System.out.println("JSONObject:" + json);            }        } catch (Exception e) {            // TODO: handle exception            e.printStackTrace();        }        return json;    }

二: xml通过xsl转换

/**     * 转换文件(xml通过xsl转换)     * @param xml 转换文件     * @param xsl 转换模板     * @param encoding  字符编码     * @return String 返回转换后的xml字符串     * @throws Exception     */    public static String returnXml(String xml, String xsl, String encoding) throws Exception {        String xslname = CRMService.class.getResource("/").getPath() + "xslFile/" + xsl;        System.out.println("xslname:" + xslname);        // 获取字符串输入流        StringWriter stringWriter = new StringWriter();        // 获取打印输出流,并设置输出为字符流形式        PrintWriter printWriter = new PrintWriter(stringWriter);        // 根据输入的String,获取XML字符串是输入源        Source srcSource = new StreamSource(new ByteArrayInputStream(xml.getBytes(encoding)));        // 设置转换结果输出为打印流        Result destResult = new StreamResult(printWriter);        // 获取转换模板        // ClassLoader cl = CRMService.class.getClassLoader();        // InputStream is = cl.getResourceAsStream(xsl);        File file = new File(xslname);        InputStream is = new FileInputStream(file);        Source xslSource = new StreamSource(is);        // 创建转换工厂        TransformerFactory transFact = TransformerFactory.newInstance();        // 创建转换对象        Transformer trans = transFact.newTransformer(xslSource);        // 实行转换        trans.transform(srcSource, destResult);        // 把转换结果赋值到 返回的字符串中        String xmlParsed = stringWriter.toString();        // 关闭打印流        printWriter.close();        return xmlParsed;    }

 

转载于:https://www.cnblogs.com/xinxin-ting/p/8604240.html

你可能感兴趣的文章
express简单原理
查看>>
ubuntu安装spark on yarn
查看>>
linux网络 (一):网络配置
查看>>
基础练习 十进制转十六进制
查看>>
关于这次软件以及pda终端的培训
查看>>
react 生命周期
查看>>
jQuery上传插件Uploadify 3.2在.NET下的详细例子
查看>>
spring11----基于Schema的AOP
查看>>
解决input框自动填充为黄色的问题
查看>>
音视频基础知识(一)
查看>>
JAVA⑤
查看>>
CyclicBarrier的使用
查看>>
thinkphp的select和find的区别
查看>>
小程序开发笔记
查看>>
Web框架高级功能之模板、拦截器、Json、打包
查看>>
如何辨别一个程序员的水平高低?是靠发量吗?
查看>>
安装scikit-learn过程记录
查看>>
数据库的标识符可以有多长
查看>>
新手村之循环!循环!循环!
查看>>
在创业公司上班的感受
查看>>