Radamanthys22
New Member
Sample xml file to unmarshalled\[code\] <category> <id>abcat0010000</id> <name>Gift Center</name> <path> <category> <id>cat00000</id> <name>Best Buy</name> </category> <category> <id>abcat0010000</id> <name>Gift Center</name> </category> </path> <subCategories> <category> <id>pcmcat140000050035</id> <name>Capturing Photos & Videos</name> </category> <category> <id>pcmcat140000050036</id> <name>Listening to Digital Music</name> </category> <category> <id>pcmcat140000050037</id> <name>Computing Made Easy</name> </category> <category> <id>pcmcat140000050039</id> <name>Simple GPS Navigation</name> </category> <category> <id>pcmcat140000050040</id> <name>Playing Video Games</name> </category> <category> <id>pcmcat140000050041</id> <name>Watching HDTV</name> </category> <category> <id>pcmcat140000050042</id> <name>Enjoying Favorite Movies</name> </category> <category> <id>abcat0012000</id> <name>Him</name> </category> <category> <id>abcat0013000</id> <name>Teens</name> </category> <category> <id>abcat0014000</id> <name>Kids</name> </category> </subCategories> </category>\[/code\]My java objects\[code\] @XmlRootElement(name="category") public class Category { String id; String name; public String getId() { return id; } @XmlElement public void setId(String id) { this.id = id; } public String getName() { return name; } @XmlElement public void setName(String name) { this.name = name; } }\[/code\]Relationship between both types of 'category' is little confusing\[code\]@XmlRootElement("category")public class ExtendedCategory extends Category { /*String id; String name;*/ List<Category> path; List<Category> subCategories; /*public String getId() { return id; } @XmlElement public void setId(String id) { this.id = id; } public String getName() { return name; } @XmlElement public void setName(String name) { this.name = name; }*/ public List<Category> getPath() { return path; } @XmlElementWrapper(name="path") @XmlElement(name="category", type=Category.class) public void setPath(List<Category> path) { this.path = path; } public List<Category> getSubCategories() { return subCategories; } @XmlElementWrapper(name="subCategories") @XmlElement(name="category", type=Category.class) public void setSubCategories(List<Category> subCategories) { this.subCategories = subCategories; }}\[/code\]I'm getting exception that Category can not be cast to ExtendedCategoryThings work fine if I change top level xml element to something else (+ corresponding change in Extended category)How to Unmarshalling objects with same name for multiple elements ?