  | Mailing List | | Home | | Forum Home | | JBoss - Java Application Server | | Tomcat - JSP/Servlet container | | Struts - A MVC web framework | | iText - An open source PDF Java Library | | JDOM - JDOM XML Parser | | JSP - A mailing list about Java Server Pages specification and reference | | J2EE - A mailing list for Java(tm) 2 Platform, Enterprise Edition | | J2EE Pattern - An interest list for Sun Java Center J2EE Pattern Catalog | | Servlet - A mailing list for discussion about Sun Microsystem's Java Servlet API Technology | |
Struts & Hibernate
|
|
|
  | | | Document.getContent() only returning the root element, not a | Document.getContent() only returning the root element, not a 2007-03-26 - By Jason Hunter
Back 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 (See http://UTF-8.ora-code.com)"?> > <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/youraddr@(protected) __ ____ ____ ____ ____ ____ ____ ____ ____ ____ To control your jdom-interest membership: http://www.jdom.org/mailman/options/jdom-interest/youraddr@(protected)
|
|
 |