Jsoup使用

来源:互联网 发布:c语言字符回车结束 编辑:程序博客网 时间:2024/05/23 02:02

最近项目对接第三方支付,当没有出错时,返回json数据格式,当出错时,返回的是html格式的数据。对于html的数据,项目用了Jsoup去解释返回的数据,得到想要的错误信息,代码如下:

假设返回的数据为:

<html>    <head>        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />    </head>    <body>        <form id="form1" action='https://test.pay.sina.com.cn/website/error' method="POST">            <input type="hidden" name="_input_charset" value="utf-8" />            <input type="hidden" name="errorDesc" value="这是错误信息描述/>            <input type="hidden" name="errorCode" value="DUPLICATE_REQUEST_NO" />        </form>    </body>    <script language="javascript"> form1.submit();</script></html>

解析如下:

package com.cc.test;import org.jsoup.Jsoup;import org.jsoup.nodes.Document;import org.jsoup.nodes.Element;import org.jsoup.select.Elements;public class SinaUtil {    /**     * 读取html格式的错误信息     * @param htmlString:html格式的返回码     */    public void readHtml(String htmlString) {        Document document = Jsoup.parse(htmlString);                Elements errorDescElements = document.getElementsByAttributeValue("name", "errorDesc");        Element errorDescElement = errorDescElements.first();        String errorDesc = errorDescElement.val();                Elements errorCodeElements = document.getElementsByAttributeValue("name", "errorCode");        Element errorCodeElement = errorCodeElements.first();        String errorCode = errorCodeElement.val();    }}
即可得到我们想要的错误信息,你可以把结果映射成一个对象,便于使用。

1 0
原创粉丝点击