Java Mailing List Archive

http://www.junlu.com/

Home » Home (12/2007) » JDOM User »

[jdom-interest] Document.getContent() only returning the root
 element, not all xml child content elements as expected

Julius Schorzman

2007-03-25

Replies:

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/youraddr@(protected)
©2008 junlu.com - Jax Systems, LLC, U.S.A.