I am new to Simple XML, but I have encountered problem with population of unwanted objects in inner elements.
The actual problem is that I want to have this hierarchy:
<Request>
<SpecificRequest>
<UniqueID></UniqueID>
or
<Password></Password>
</SpecificRequest>
</Request>
But have this:
<Request>
<SpecificRequest>
<mData class="com.example.package.UIDData">
<UniqueID>6252859A</UniqueID>
</mData>
</SpecificRequest >
</Request>
Classes look like this:
Root request object:
@Root(name = "Request")
public class Request {
@Element(name = "SpecificRequest")
private SpecificRequest mSpecificRequest;
public Request(SpecificRequest specificRequest) {
mSpecificRequest = specificRequest;
}
}
Specific request object:
public class SpecificRequest {
private Data mData;
public SpecificRequest(Data data) {
mData = data;
}
}
Generic data class:
public abstract class Data {
private Type mType = Type.None;
protected Data(Type type) {
mType = type;
}
// other abstract stuff
}
And specific data class:
public class UIDData extends Data {
@Element(name = "UniqueID")
private String mUID;
public UIDData(String UID) {
super(Type.UID);
mUID = UID;
}
}