[Htmlparser-user] [NEWBIE] Problem parsing JavaScript
Brought to you by:
derrickoswald
From: Roger V. <rog...@go...> - 2009-07-15 06:42:19
|
>My gut reaction without even looking into it in detail because it is a >javascript problem is to tell you to set >org.htmlparser.scanners.ScriptScanner.STRICT = false and try it again. Derek, I've had a dig around in the Javadocs but I can't work out how to do this. Could you give me a pointer on how to access the ScriptScanner before I start parseing. I need to get this working as not only is HtmlParser not recognising the tag correctly, when it's part of a very large script block, when I convert back to Html with NodeList.toHtml() a </script> tag is being erroneously inserted. Regards On Tue, Jul 7, 2009 at 2:03 PM, Roger Varley <roger.varley@go...>wrote: > > > > If you want the A tags insid the BODY tag it would be: > > NodeFilter filter = new AndFilter(new TagNameFilter("A"), > > new HasParentFilter(new TagNameFilter("BODY"),true)); > > > > Thanks Derek, that worked perfectly. I've now got another problem that > I think might be a bug. With the testcase > (I'm not making this up - I've actually got work with this sort of stuff!) > > String testHtml = "<html><head><script><a > href=JAVASCRIPT:openProc('\" + parent.contents.procUID[i] + > \"','main')>" > +"</script><body><table><tr><td><img > src=/666.jpg\"></td></tr><tr><td>" > +"document.write(\"<a > href=JAVASCRIPT:openProc('\" + parent.contents.procUID[i] + > \"','main')>\" + parent.contents.procDisplay[i] + > \"</a>\"</a></td></tr></table></body></html>"; > > Parser parser = new Parser(testHtml); > NodeList originalPage = parser.parse(null); > NodeFilter filter = new AndFilter(new TagNameFilter("a"), > new HasParentFilter(new TagNameFilter("body"),true)); > NodeList extract = originalPage.extractAllNodesThatMatch(filter, true); > > This picks up the second JAVASCRIPT LinkTag - the one outside the > <head> tag, but inside the document.write(). When I try to evaluate > LinkTag.getLinkTag() against this, HtmlParser is reporting the text as > JAVASCRIPT:openProc('" which is not correct. Any ideas? > > Regards > > > ------------------------------------------------------------------------------ > Enter the BlackBerry Developer Challenge > This is your chance to win up to $100,000 in prizes! For a limited time, > vendors submitting new applications to BlackBerry App World(TM) will have > the opportunity to enter the BlackBerry Developer Challenge. See full prize > details at: http://p.sf.net/sfu/blackberry > _______________________________________________ > Htmlparser-user mailing list > Htmlparser-user@li... > https://lists.sourceforge.net/lists/listinfo/htmlparser-user > |