[問題] 網頁文字擷取問題
最近在練習網頁擷取文字的程式
但遇到一個問題 想請問板上的大家有什麼可以解決的方法
先敘述一下我的程式目的以及步驟:
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
08/23 01:14, 1F
→
08/23 01:29, , 2F
08/23 01:29, 2F