2013-01-14 46 views
1
<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代替標記中的文本

我然後解析成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"); 
+0

編輯我的問題。請檢查 – ziaasp

+0

而且您還明確指出了您想達到的目標嗎? '替換文字'似乎很模糊 – wtsang02

回答

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

會給你3個細胞。 使用循環來獲取每個元件都

Element e=Elements.get(int index); 

使用e.text()得到的字符串。

比較或與String.equals() , String.contains(), String.replace()

+0

我不清楚。 – ziaasp

+0

你可以先回答我的問題,你的意思是替換?你在找什麼結果? – wtsang02

+0

我想將「預訂狀態(教練號碼,泊位號碼,定額)」縮短爲「預訂狀態」。我不想提取文本到字符串。我想用Jsoup替換方法來做到這一點 – ziaasp

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文本回保存到磁盤,發送給你想用它做一個web視圖或任何其他。

+0

它的工作原理。如何再次形成表格? – ziaasp

+0

你是什麼意思形成表格?如果你的意思是把HTML取回來,只要做「String newHtml = doc.toString();」,你就會得到一個帶有HTML的字符串。 – iagreen