Hmm ... sorry, no XML again .... Werner
Rachel Wilson wrote: > 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 > > --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email

