Re: [Htmlparser-user] Trouble overriding textnodes using setTextPrototype
Brought to you by:
derrickoswald
From: Jay P. <jp...@se...> - 2008-04-09 15:35:35
|
Derrick, When I do this all text in the text nodes is removed. How can I subclass TextNode? Thanks Jay On 4/2/08 9:38 PM, "Derrick Oswald" <der...@ro...> wrote: > Just add an empty string in the constructor call: > factory.setTextPrototype (new TextNode ("") { > > > ----- Original Message ---- > From: Jay Prall <jp...@se...> > To: htm...@li... > Sent: Wednesday, April 2, 2008 3:46:14 PM > Subject: [Htmlparser-user] Trouble overriding textnodes using setTextPrototype > > Trouble overriding textnodes using setTextPrototype > // This code doesn't compile. It complains "The constructor TextNode() is > undefined". I got this in the documentation and thought it was a way to > override textnodes? > // My goal is to override TextNode so that I can process text and turn > http://link.com into a real link <a href="link.com">link.com</a> > // Any ideas? > > import org.htmlparser.Node; > import org.htmlparser.Parser; > import org.htmlparser.Text; > import org.htmlparser.lexer.Page; > import org.htmlparser.tags.LinkTag; > import org.htmlparser.util.NodeList; > import org.htmlparser.util.ParserException; > import org.htmlparser.PrototypicalNodeFactory; > import org.htmlparser.tags.*; > import org.htmlparser.nodes.TextNode; > > public static void main (String[] args) throws ParserException > { > String html = > "<html><body>\n<script>alert('hi');</script><select id=\"da\"></select>" + > " > > http://googlelink.com\">123456 <%5C%22%3Ca> > " + > > "<h1>hello</h1><a href=cnn.com></a>\n" + > "http://google.com</br>" + > "<b>https://cnn.com/?test=3&2=d</b></p>\n" + > "<table><tr><td>http://table.com</td></tr></table>" + > "<a href=\"a.html\">123</a>\n<a > href=\"http://www.alreadylinkified.com/\">http://www.alreadylinkified.com</a>\ > n</body></html>"; > > PrototypicalNodeFactory factory = new > PrototypicalNodeFactory(); > factory.setTextPrototype (new TextNode () { > public String toPlainTextString() > { > return (org.htmlparser.util.Translate.decode > (super.toPlainTextString ())); > } > }); > > Parser parser = new Parser(html); > parser.setNodeFactory(factory); > NodeList all = parser.parse(null); > System.out.println( all.toHtml()); > } > > } > > > -----Inline Attachment Follows----- > > ------------------------------------------------------------------------- > Check out the new SourceForge.net Marketplace. > It's the best place to buy or sell services for > just about anything Open Source. > http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace > > > -----Inline Attachment Follows----- > > _______________________________________________ > Htmlparser-user mailing list > Htm...@li... > https://lists.sourceforge.net/lists/listinfo/htmlparser-user > > > > ------------------------------------------------------------------------- > Check out the new SourceForge.net Marketplace. > It's the best place to buy or sell services for > just about anything Open Source. > http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace > > _______________________________________________ > Htmlparser-user mailing list > Htm...@li... > https://lists.sourceforge.net/lists/listinfo/htmlparser-user |