【问题标题】:How to read html string如何读取html字符串
【发布时间】:2017-12-05 08:45:00
【问题描述】:

我在我的 android 应用中实现了 ccavenue 集成

ccavenue 返回 html 字符串

我需要从该字符串中读取 html 正文内容和表格行

下面是html字符串

<head><head>
         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
         <title>Response Handler</title>
         </head>
         <body>


            <center>
                <font size="4" color="blue"><b>Response Page</b></font>
                <table border="1">

                        <tbody><tr>
                            <td>merchant_param5 </td>
                            <td>  </td>
                        </tr>

                        <tr>
                            <td>merchant_param4 </td>
                            <td>  </td>
                        </tr>

                        <tr>
                            <td>merchant_param3 </td>
                            <td>  </td>
                        </tr>

                        <tr>
                            <td>billing_name </td>
                            <td> Amit </td>
                        </tr>

                        <tr>
                            <td>merchant_param2 </td>
                            <td>  </td>
                        </tr>

                        <tr>
                            <td>status_message </td>
                            <td> Payment failed due to a technical error with the bank. Please retry after some time. </td>
                        </tr>

                        <tr>
                            <td>merchant_param1 </td>
                            <td>  </td>
                        </tr>

                        <tr>
                            <td>billing_city </td>
                            <td> Nashik </td>
                        </tr>

                        <tr>
                            <td>amount </td>
                            <td> 1.0 </td>
                        </tr>

                        <tr>
                            <td>order_status </td>
                            <td> Failure </td>
                        </tr>

                        <tr>
                            <td>billing_country </td>
                            <td> India </td>
                        </tr>

                        <tr>
                            <td>response_code </td>
                            <td> 0 </td>
                        </tr>

                        <tr>
                            <td>billing_address </td>
                            <td> Nashik </td>
                        </tr>

                        <tr>
                            <td>billing_notes </td>
                            <td>  </td>
                        </tr>

                        <tr>
                            <td>discount_value </td>
                            <td> 0.0 </td>
                        </tr>

                        <tr>
                            <td>retry </td>
                            <td> N </td>
                        </tr>

                        <tr>
                            <td>billing_zip </td>
                            <td> 422005 </td>
                        </tr>

                        <tr>
                            <td>delivery_country </td>
                            <td> India </td>
                        </tr>

                        <tr>
                            <td>billing_tel </td>
                            <td> 9404005390 </td>
                        </tr>

                        <tr>
                            <td>failure_message </td>
                            <td>  </td>
                        </tr>

                        <tr>
                            <td>order_id </td>
                            <td> 6355706 </td>
                        </tr>

                        <tr>
                            <td>bank_ref_no </td>
                            <td> null </td>
                        </tr>

                        <tr>
                            <td>delivery_address </td>
                            <td> Nashik </td>
                        </tr>

                        <tr>
                            <td>status_code </td>
                            <td> null </td>
                        </tr>

                        <tr>
                            <td>billing_state </td>
                            <td> Maharashtra </td>
                        </tr>

                        <tr>
                            <td>payment_mode </td>
                            <td> Wallet </td>
                        </tr>

                        <tr>
                            <td>vault </td>
                            <td> N </td>
                        </tr>

                        <tr>
                            <td>delivery_state </td>
                            <td> Maharashtra </td>
                        </tr>

                        <tr>
                            <td>offer_type </td>
                            <td> null </td>
                        </tr>

                        <tr>
                            <td>bin_country </td>
                            <td>  </td>
                        </tr>

                        <tr>
                            <td>delivery_name </td>
                            <td> Amit </td>
                        </tr>

                        <tr>
                            <td>offer_code </td>
                            <td> null </td>
                        </tr>

                        <tr>
                            <td>tracking_id </td>
                            <td> 106246806219 </td>
                        </tr>

                        <tr>
                            <td>delivery_city </td>
                            <td> Nashik </td>
                        </tr>

                        <tr>
                            <td>trans_date </td>
                            <td> 01/07/2017 20:27:58 </td>
                        </tr>

                        <tr>
                            <td>delivery_zip </td>
                            <td> 422005 </td>
                        </tr>

                        <tr>
                            <td>delivery_tel </td>
                            <td> 9404005390 </td>
                        </tr>

                        <tr>
                            <td>currency </td>
                            <td> INR </td>
                        </tr>

                        <tr>
                            <td>eci_value </td>
                            <td> null </td>
                        </tr>

                        <tr>
                            <td>card_name </td>
                            <td> Paytm </td>
                        </tr>

                        <tr>
                            <td>billing_email </td>
                            <td> desale.amit@gmail.com </td>
                        </tr>

                        <tr>
                            <td>mer_amount </td>
                            <td> 1.0 </td>
                        </tr>

                </tbody></table>
            </center>


         </body></head>

我需要解析上面的html字符串

如何解析这个字符串

请推荐

谢谢

【问题讨论】:

    标签: android html html-table html-parsing


    【解决方案1】:

    您可以使用JSOUPString 获取您的数据

    1.) 使用Jsoup.parse(your_string)将字符串作为文档获取

    2.) 使用document.getAllElements() 作为元素获取所有节点

    3.) 遍历元素并使用ownText()函数获取数据

        Document document=Jsoup.parse(your_response);
        Elements elements = document.getAllElements();
        for (Element element : elements) {
            String data =element.ownText();
            // some strings are empty so avoid them
            if (!data.isEmpty()) {
                System.out.println(data);               
            }
        }
    

    输出

    Response Handler
    Response Page
    merchant_param5
    merchant_param4
    merchant_param3
    billing_name
    Amit
    ... data
    ... more data
    desale.amit@gmail.com
    mer_amount
    1.0
    

    【讨论】:

      【解决方案2】:

      您可以使用Jsop lib 或Htmlcleaner

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-03-17
        • 1970-01-01
        • 1970-01-01
        • 2018-04-17
        • 1970-01-01
        • 2021-08-18
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多