Re: [Htmlparser-developer] NodeIterator and SimpleNodeIterator
Brought to you by:
derrickoswald
|
From: Somik R. <so...@ya...> - 2003-04-03 04:08:50
|
Hi Joseph,
The difference is subtle. NodeIterator throws
exceptions. SimpleNodeIterator does not. This was bcos
a SimpleNodeIterator used inside a collection would
not need to throw parser exception, as it is not
parsing - just iterating. However, a NodeIterator
requires its implementations to throw exceptions
depending on the parse.
One solution to your problem could be - have
NodeList return a NodeIterator as well. What do you
think ?
Regards,
Somik
--- Joseph Robins <jmr...@tg...> wrote:
> After finding myself poking through more and more of
> the code for the
> HTML parser, and needing to fix bugs, I've decided
> to join this list.
> And I figure that there's no better way to join the
> list than with a
> question. :-) (I've looked through the archives,
> and I don't see the
> answer in there. Sorry if this was discussed before
> and I missed it.)
>
> Is there a reason that the iterators that
> Parser.elements() and
> CompositeTag.children() are different classes, and
> are incompatible? I
> wanted to write some code along the lines of:
>
>
--------------------------------------------------------------
>
> Parser parser = new Parser(url);
> NodeIterator iter = parser.elements();
> doParse(iter);
>
> ...
>
> private void doParse(NodeIterator iter) {
> while(iter.hasMoreNodes()) {
> Node node = iter.nextNode();
> doStuff();
> if(node instanceof CompositeTag) {
> doParse(((CompositeTag)node).children());
> }
> }
> }
>
>
--------------------------------------------------------------
>
> Unfortunately, because the iterators are different
> (and don't even share
> a superclass), I can't do this, and have to
> duplicate my doParse method
> with two different signatures.
>
> This seems like a natural thing to want to do. For
> example, when
> parsing a page, a form tag might contain a lot of
> other elements (text,
> links, etc.) in it that we want to get, and the only
> way to do that is
> to iterate inside.
>
>
_____________________________________________________________
> Joe Robins Tel: 212-918-5057
> Thaumaturgix, Inc. Fax: 212-918-5001
> 19 W. 44th St., 18th Floor Email: jmr...@tg...
> New York, NY 10036 http://www.tgix.com
>
> thau'ma-tur-gy, n. the working of miracles.
>
>
>
>
-------------------------------------------------------
> This SF.net email is sponsored by: ValueWeb:
> Dedicated Hosting for just $79/mo with 500 GB of
> bandwidth!
> No other company gives more support or power for
> your dedicated server
>
http://click.atdmt.com/AFF/go/sdnxxaff00300020aff/direct/01/
> _______________________________________________
> Htmlparser-developer mailing list
> Htm...@li...
>
https://lists.sourceforge.net/lists/listinfo/htmlparser-developer
__________________________________________________
Do you Yahoo!?
Yahoo! Tax Center - File online, calculators, forms, and more
http://tax.yahoo.com
|