Htmlparser置換後のテキストを得る
1522 ワード
需要:HTMLファイル内のすべてのリンクを置換して置換後のHTMLファイルを得る
Htmlparser解析の採用を検討
コードは次のとおりです.
Htmlparser解析の採用を検討
コードは次のとおりです.
public class DoReplaceHtmlHref implements Callable<String> {
private String content;
public DoReplaceHtmlHref(String content) {
this.content = content;
}
public String call() throws Exception {
Parser myParser = new Parser();
StringBuffer sbContent = new StringBuffer();
try {
myParser.setInputHTML(content);
//
NodeList nodes = myParser
.extractAllNodesThatMatch(new NodeFilter() {
public boolean accept(Node node) {
return true;
}
});
for (int i = 0; i < nodes.size(); i++) {
Node node = nodes.elementAt(i);
//
if (node instanceof LinkTag) {
LinkTag linkTag = (LinkTag) node;
//
sbContent.append("<a href=www.163.com>"); } else if (node instanceof TextNode) {
//
TextNode text = (TextNode) node;
sbContent.append(text.getText());
} else {
// <>
sbContent.append('<');
sbContent.append(node.getText());
sbContent.append('>');
}
}
} catch (Exception e) {
log.error("parse html enode is error");
}
return sbContent.toString();
}
}