使用Jsoup替换标记内的文本

时间:2013-01-14 17:26:12

标签: java android html parsing jsoup

<table width="100%" border="0" cellpadding="0" cellspacing="1" class="table_border" id="center_table">
<tbody>
<tr>
<td width="25%" class="heading_table_top">S. No.</td>
<td width="45%" class="heading_table_top">
Booking Status (Coach No , Berth No., Quota)
</td>
<td width="30%" class="heading_table_top">
* Current Status (Coach No , Berth No.)
</td>
</tr>
</tbody>
</table>

我废弃网页并将响应存储在字符串中。

然后我将其解析为jsoup doc

Document doc = Jsoup.parse(result);

然后我使用

选择表格
Element table=doc.select("table[id=center_table]").first();

现在我需要使用jsoup将标签“预订状态(教练号,泊位号,配额)”中的文本替换为“预订状态”。有人可以帮忙吗?

我试过

  table.children().text().replaceAll(RegEx to select the text?????, "Booking Status");

2 个答案:

答案 0 :(得分:3)

        Elements tds=doc.select("table[id=center_table] td");  // select the tds from your table
        for(Element td : tds) {  // loop through them
            if(td.text().contains("Booking Status")) {  // found the one you want
                td.text("Booking Status");          // Replace with your text
            }
        }

然后您可以使用doc.toString()获取HTML的文本以保存到磁盘,发送到webView或其他任何您想要用它做的事情。

答案 1 :(得分:1)

Elements tablecells=doc.select("table tbody tr td");

会给你3个细胞。 使用循环来获取每个元素

Element e=Elements.get(int index);

使用e.text()获取字符串。

使用String.equals() , String.contains(), String.replace()

比较或替换字符串