作者TeemoOnDuty (Captain Teemo)
看板java
标题[问题] 网页文字撷取问题
时间Tue Aug 23 01:07:02 2011
最近在练习网页撷取文字的程式
但遇到一个问题 想请问板上的大家有什麽可以解决的方法
先叙述一下我的程式目的以及步骤:
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
1F:→ apiod:regular expression 08/23 01:14
2F:→ TeemoOnDuty:谢谢提醒! 似乎可以利用jdom的getContent解决! 08/23 01:29