Re: Document.getContent() only returning the root element, not all xml child content elements as expected

"Julius Schorzman" <[email protected]>
Newsgroups gmane.comp.java.jdom.general
Message-ID <[email protected]>
Great -- that's it, thanks!  A misunderstanding of the javadoc...  get's ya
every time.  ;-)

On 3/25/07, Jason Hunter <[email protected]> wrote:
>
> Hi Julius,
>
> document.getContent() returns all nodes directly under the document,
> which would be the root element and maybe some comments or processing
> instructions, and maybe a doctype.  It's not designed to iterate through
> the full document.  For that you can call document.getDescendants().  It
> gives you an iterator for all nodes matching the optional filter you
> pass it.
>
> -jh-
>
> Julius Schorzman wrote:
> > Hi all.  I'm a bit flummoxed by an issue with JDom, which I've been
> > using for about two years now.  It appears that Document.getContent is
> > only returning the root element of the document, not all of the elements
> > in the document.  For example, here is some test code:
> >
> >     private Document d;
> >
> >     private void parse(){
> >
> >         //output the xml to make sure it loaded correctly
> >         XMLOutputter out = new XMLOutputter(Format.getPrettyFormat());
> >         try {
> >             out.output(d, System.out);
> >         } catch (Exception ignored) {}
> >
> >         //print out the number of elements returned by getContent
> >         System.out.println( d.getContent( ).size() );
> >
> >         //set the ID for this document
> >         for ( Object o : d.getContent( ) ) {
> >
> >             try {
> >                 System.out.println(((Element)o).getName());
> >             } catch ( ClassCastException ignored ) { }
> >
> >         }
> >
> >     }
> >
> > The xml document is:
> >
> > <?xml version="1.0" encoding="UTF-8"?>
> > <test>
> >   <a>
> >     <b>
> >       <c>
> >         <d />
> >       </c>
> >     </b>
> >   </a>
> >   <a>
> >     <b>
> >       <c>
> >         <d />
> >       </c>
> >     </b>
> >   </a>
> >   <a>
> >     <b>
> >       <c>
> >         <d />
> >       </c>
> >     </b>
> >   </a>
> > </test>
> >
> > And the outcome of this is:
> > [the xml document as shown above]
> > 1
> > test
> >
> > So, as you can see, the root element <test> is the one and only element
> > returned in the list returned by d.getContent( ).  Can anyone explain
> > why this might be?
> >
> > Thanks!  Please forgive me if this has been answered previously -- I
> > searched for quite a while and couldn't find a thread with this issue.
> >
> >
> > ------------------------------------------------------------------------
> >
> > _______________________________________________
> > To control your jdom-interest membership:
> > http://www.jdom.org/mailman/options/jdom-interest/[email protected]
>

_______________________________________________
To control your jdom-interest membership:
http://www.jdom.org/mailman/options/jdom-interest/[email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.