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]