Re: [Htmlparser-user] HTML parser for HTML translation
Brought to you by:
derrickoswald
From: Aminudin K. <ami...@mi...> - 2003-02-07 09:04:12
|
Hi, You're right, HTMLVisitor does exist in htmlparser.jar . Many strange things happened during compilation but I've managed to reduce some errors. Could u guys help me analyzing what is wrong in the following codes. In HTMParser there is a method called *visitAllNodesWith(visitor)* . The argument's type is *HTMLVisitor. *However, the following class use StringTranslatingVisitor which extends HTMLVisitor as an argument. JAVAC keeps complaining me about this. Your help is appreciated. Thanks p/s : Notice that I've commented out "import org.htmlparser.visitors". I couldn't compile if I include this line. (Any reason/ idea ?) FYI, my development platform is Linux. --------------- Error ------------------------------------------ StringTranslatingVisitor.java:45: visitAllNodesWith(org.htmlparser.visitors.HTMLVisitor) in org.htmlparser.HTMLParser cannot be applied to (StringTranslatingVisitor) parser.visitAllNodesWith(visitor); ^ 1 error ----------------------------------------------------------------- -----------------------------------JAVA Code ------------------------- import org.htmlparser.HTMLParser; import org.htmlparser.HTMLRemarkNode; import org.htmlparser.HTMLStringNode; import org.htmlparser.tags.HTMLEndTag; import org.htmlparser.tags.HTMLTag; import org.htmlparser.util.HTMLParserException; //import org.htmlparser.visitors; public class StringTranslatingVisitor extends HTMLVisitor{ StringBuffer htmlData = new StringBuffer(); public void visitStringNode(HTMLStringNode stringNode) { String yourStuff="htmlTrans"; // Perform modifications here. // finally, add to htmlData htmlData.append(yourStuff); } public void visitEndTag(HTMLEndTag endTag) { htmlData.append(endTag.toHTML()); } public void visitTag(HTMLTag tag) { htmlData.append(tag.toHTML()); } public String getHtml() { return htmlData.toString(); } public void visitRemarkNode(HTMLRemarkNode remarkNode) { htmlData.append(remarkNode.toHTML()); } public static void main(String args[]){ try{ HTMLParser parser = new HTMLParser("http://www.yahoo.com"); parser.registerScanners(); StringTranslatingVisitor visitor = new StringTranslatingVisitor(); parser.visitAllNodesWith(visitor); }catch (HTMLParserException e){ System.out.println("error :) "); } } } --------------------------------------------------------------------------- |