android - 如何读取html字符串

标签 android html html-table html-parsing

我在我的 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字符串

如何解析这个字符串

请推荐

谢谢

最佳答案

您可以使用 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

关于android - 如何读取html字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44862567/

相关文章:

android - App中的所有 Activity 列表

html - 在菜单栏中突出显示当前页面

php - 如何逻辑地使用 PHP 显示数据库表的所有可能值?

html - 表格单元格间距预览正确,但实时显示更大

android - 除了开发者网站之外,还有其他官方的 android 开发指南一站式资源吗?

android - 如何将数据从 android 发送到 SQL Server 2008?

javascript 或 jquery,点击一个链接并展开一个 div

javascript - 向表条目添加超链接

HTML 表格宽度

android - 如何使 ImageView 在工具栏中居中?