[問題] 網頁文字擷取問題

看板java作者 (Captain Teemo)時間14年前 (2011/08/23 01:07), 編輯推噓0(002)
留言2則, 2人參與, 最新討論串1/1
最近在練習網頁擷取文字的程式 但遇到一個問題 想請問板上的大家有什麼可以解決的方法 先敘述一下我的程式目的以及步驟: 1. 先將html轉成一個xml檔案 利用jdom處理 2. 取出每個node的文字(包含子節點的) 例如: <p>111<a>222</a>333</p> 希望可以取出 111222333 但目前出了一個問題,不知道該怎麼解決 jdom中的 getText()的方法會將例子中的p節點的所有文字都取出來 (因為111 333都是屬於p的text, 222是a的text) 以至於得到的結果變成 111333222 想請問板上的大家 是否有其他的方法可以解決這個問題 謝謝!! 以下是我的程式 //level是要加入進入遞迴的節點本身的文字 private String parseText(Element node, int level) { String Text; if(level == 0) Text = node.getTextTrim(); else Text = ""; List<Element> allChildren = node.getChildren(); for(int i = 0; i < allChildren.size(); i++) { if(!allChildren.get(i).getText().equals(null)) Text += (allChildren.get(i).getTextTrim() + parseText(allChildren.get(i), ++level)); else Text += parseText(allChildren.get(i), ++level); } return Text; } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.126.25.51

08/23 01:14, , 1F
regular expression
08/23 01:14, 1F

08/23 01:29, , 2F
謝謝提醒! 似乎可以利用jdom的getContent解決!
08/23 01:29, 2F
文章代碼(AID): #1EKeouas (java)