I am using Retrofit 2 s SimpleXmlConverterand I am facing a problem when creating a Soap request object, which is basically an element with 4 children, each of which is a different data type.
Here is the result XMLI want to create. The order of the elements must be observed:
<prf:container>
<prf:aaa>111111111</prf:aaa>
<prf:bbb>true</prf:bbb>
<prf:element>
<prf:ddd>50</prf:ddd>
<prf:eee>false</prf:eee>
</prf:element>
<prf:ccc>textcontent</prf:ccc>
</prf:container>
Now, here is my Android class, Container.javarepresenting the Soap request object to be serialized:
@Root (name = "prf:container")
@Order(elements={"prf:aaa", "prf:bbb", "prf:element", "prf:ccc"})
public class Container {
@Element (name = "prf:aaa")
private int aaa;
@Element(name = "prf:bbb")
private boolean bbb;
@Element (name = "prf:element", required = false)
private MyElement myElement;
@Element (name = "prf:ccc", required = false)
private String ccc;
}
According to the documentation for simple XML documentation:
By default, fields are serialized in the order of declaration.
Android , . , Container, . , SO.
, . Order.
Javadoc.
, Order . , - prf:.
prf , Order XML . .
, , 500. XML-.
?