我在我的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字符串
如何解析此字符串
请建议
感谢
答案 0 :(得分:2)
您可以使用JSOUP
将数据提取为String
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
答案 1 :(得分:1)
您可以使用Jsop lib或Htmlcleaner