[jdom-interest] ClassCast:troubles: getContent(index).clone( )

Rolf Lear rlear at algorithmics.com
Thu Mar 11 06:29:03 PST 2004


The flaw in your logic is quite common, but simple.

getContent returns ALL the content of the Element, not just the Element's
"Children" (sub-elements).

In a structure like:
<root>
  <subElement />
</root>

The "root" Element will have the following Content:
Text: with value "\n  "
Element: with name "subElement".

It becomes more obvious with the example:
<root>
   This is some text followed by a sub element
  <subElement />
   followed by some more text...
</root>

which gives "root" the Content:
Text: with value "\n   This is some text followed by a sub element\n  "
Element: with name "subElement".
Text: with value "\n   followed by some more text...\n" 

Rolf

-----Original Message-----
From: jdom-interest-admin at jdom.org
[mailto:jdom-interest-admin at jdom.org]On Behalf Of Robert Stukey
Sent: Thursday, March 11, 2004 9:25 AM
To: jdom-interest at jdom.org
Subject: RE: [jdom-interest] ClassCast:troubles:
getContent(index).clone()




	   I thought that by getting the index of the current element I
would be
able to -1 and use getContent(index) to get the previous sibling. Not sure,
what went wrong. I must be at the wrong location to do the casting.
Thanks...


On Thursday 11 March 2004 03:23, Robert Stukey wrote:
>            Yes, it had me confused on that one. I was just trying to get a
> previous element based on the index. I wasn't really sure how the casting
> worked once I was using getContent(), but I did a work around with the
> iterator. If someone can explain the casting please do.

Casting works the same regardless of how you retrieve your nodes. It may
well be that your iterator workaround uses an iterator over only elements so
your casting works since you never see a text. The text is perhaps the extra
space common in formatted XML that you usually don't care about.

The class mentioned in the exception is the actual type (always so in a
ClassCastException ) so it is quite straightforward to verify that Element
is
not a superclass or implemented interface of Text.

-- robin

_______________________________________________
To control your jdom-interest membership:
http://lists.denveronline.net/mailman/options/jdom-interest/youraddr@yourhos
t.com



More information about the jdom-interest mailing list