我是Simple XML的新手,但我遇到了内部元素中不需要的对象数量的问题。
实际问题是我希望拥有这种层次结构:
<Request>
<SpecificRequest>
<UniqueID></UniqueID>
or
<Password></Password>
</SpecificRequest>
</Request>
但是有这个:
<Request>
<SpecificRequest>
<mData class="com.example.package.UIDData">
<UniqueID>6252859A</UniqueID>
</mData>
</SpecificRequest >
</Request>
类看起来像这样:
Root请求对象:
@Root(name = "Request")
public class Request {
@Element(name = "SpecificRequest")
private SpecificRequest mSpecificRequest;
public Request(SpecificRequest specificRequest) {
mSpecificRequest = specificRequest;
}
}
特定请求对象:
public class SpecificRequest {
private Data mData;
public SpecificRequest(Data data) {
mData = data;
}
}
通用数据类:
public abstract class Data {
private Type mType = Type.None;
protected Data(Type type) {
mType = type;
}
// other abstract stuff
}
具体数据类:
public class UIDData extends Data {
@Element(name = "UniqueID")
private String mUID;
public UIDData(String UID) {
super(Type.UID);
mUID = UID;
}
}
答案 0 :(得分:1)
将UIDData.class添加为SimpleXml @Element批注中的类型
{
"engagementNumber":["one","two"]
}