看板 java 關於我們 聯絡資訊
最近在練習網頁擷取文字的程式 但遇到一個問題 想請問板上的大家有什麼可以解決的方法 先敘述一下我的程式目的以及步驟: 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
apiod:regular expression 08/23 01:14
TeemoOnDuty:謝謝提醒! 似乎可以利用jdom的getContent解決! 08/23 01:29