hmm.  for some reason the mapping was stripped by my mail client (??)
 
It should have been this:
 
    
      
        
        
            
        
      
    

----------------------------------------
> From: [email protected]
> To: [email protected]
> Date: Tue, 25 Aug 2009 21:00:05 +0000
> Subject: [castor-user] Mapping a List at root returns AnyNode objects instead 
> of desired mapped object
>
>
> [XML]
>
> I need to unmarshall a list of simple objects. I'd like iterate through them 
> without having to create a wrapper java class merely to hold the list of 
> objects in which I'm interested.
>
> Very similar to this poster: 
> http://www.mail-archive.com/[email protected]/msg02830.html
>
> And working almost exactly like this example: 
> http://www.castor.org/how-to-map-a-list-at-root.html
>
> However after the unmarshalling step when I try and loop through what I would 
> expect to be PublicationImage objects in an ArrayList but instead I'm getting 
> org.exolab.castor.types.AnyNode objects and therefore fails with a 
> ClassCastException.
>
> I've tried all sorts of variations using location attributes in the mapping 
> file or trying to map-to different nodes but it always falls over at the same 
> step for the same reason. Here is a simplified version of what I have at the 
> moment...
>
>
> Here is the XML I'd like to unmarshall:
>
>
>
>
>
>
> Here is my class:
>
> public class PublicationImage
> {
> private String articleId;
>
> public String getArticleId()
> {
> return articleId;
> }
>
> public void setArticleId(String articleId)
> {
> this.articleId = articleId;
> }
> }
>
> here is my mapping file (castor-mapping-pubs.xml):
>
>
>
>
>
>
>
>
>
>
>
> And here is the unmarshalling java
>
> Unmarshaller unmarshaller = new Unmarshaller(ArrayList.class);
>
> Mapping map = new Mapping();
> map.loadMapping(getClass().getResource( "/castor-mapping-pubs.xml" ));
> unmarshaller.setMapping(map);
>
> List pubs = (ArrayList) unmarshaller.unmarshal(fileReaderForMyXML);
>
> Iterator pubsIt = pubs.iterator();
> while (pubsIt.hasNext())
> {
> // this step is failing with a ClassCastException
> PublistsOutputImage pub = (PublistsOutputImage) pubsIt.next();
> }
>
> I'm using version 1.3 of the jars
>
> I cannot change the XML structure that i'm unmarshalling because it is a 
> response from a third party API.
>
> I hope you can point me at my no doubt silly mistake
>
> Rachel
>
>
> _________________________________________________________________
> Windows Live Messenger: Happy 10-Year Anniversary—get free winks and 
> emoticons.
> http://clk.atdmt.com/UKM/go/157562755/direct/01/
> ---------------------------------------------------------------------
> To unsubscribe from this list, please visit:
>
> http://xircles.codehaus.org/manage_email
>
>
_________________________________________________________________
Windows Live Messenger: Happy 10-Year Anniversary—get free winks and emoticons.
http://clk.atdmt.com/UKM/go/157562755/direct/01/
---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply via email to