The problem you are trying to solve is Android refusing to load XML saved
by Sun/Oracle Java (and XStream) ?

- Paul

On Fri, Mar 1, 2013 at 4:34 AM, Ihar Tsimoshka <itsimos...@tut.by> wrote:

> I need to generate XML from java objects on Android. XML nodes must be in
> definite sequence.
> Due http://xstream.codehaus.org/manual-tweaking-output.html order of XML
> nodes
> match object's fields define. There is no problems when I use java
> classes(String, Date...) as fields. But there is problem when I need
> serialize
> my objects as fields.
>
> Here is my code:
>
>     final XStream x = new XStream();
>
>     x.autodetectAnnotations(true);
>
>     SecondEntity secondEntity = new SecondEntity();
>     secondEntity.setSecondaryString("Secondary String");
>     secondEntity.setSecondaryDate(new Date());
>
>     InnerEntity innerEntity = new InnerEntity();
>     innerEntity.setInnerString("Inner String");
>     innerEntity.setInnerDate(new Date());
>
>     SomeEntity someEntity = new SomeEntity();
>     someEntity.setInnerEntity(innerEntity);
>     someEntity.setSecondEntity(secondEntity);
>     someEntity.setSomeDate(new Date());
>     someEntity.setSomeString("Some string");
>
>     x.toXML(someEntity)
>
> SomeEntity:
>
>
>
>     @XStreamAlias("SomeEntity")
>     public class SomeEntity {
>         @XStreamAlias("innerEntity")
>         private InnerEntity innerEntity;
>         @XStreamAlias("secondEntity")
>         private SecondEntity secondEntity;
>         @XStreamAlias("someString")
>         private String someString;
>         @XStreamAlias("someDate")
>         private Date someDate;
>
>         public InnerEntity getInnerEntity() {
>             return innerEntity;
>         }
>
>         public void setInnerEntity(InnerEntity innerEntity) {
>             this.innerEntity = innerEntity;
>         }
>
>         public SecondEntity getSecondEntity() {
>             return secondEntity;
>         }
>
>         public void setSecondEntity(SecondEntity secondEntity) {
>             this.secondEntity = secondEntity;
>         }
>
>         public String getSomeString() {
>             return someString;
>         }
>
>         public void setSomeString(String someString) {
>             this.someString = someString;
>         }
>
>         public Date getSomeDate() {
>             return someDate;
>         }
>
>         public void setSomeDate(Date someDate) {
>             this.someDate = someDate;
>         }
>     }
>
> InnerEntity:
>
>     @XStreamAlias("InnerEntity")
>     public class InnerEntity {
>         @XStreamAlias("innerString")
>         private String innerString;
>         @XStreamAlias("innerDate")
>         private Date innerDate;
>
>         public String getInnerString() {
>             return innerString;
>         }
>
>         public void setInnerString(String innerString) {
>             this.innerString = innerString;
>         }
>
>         public Date getInnerDate() {
>             return innerDate;
>         }
>
>         public void setInnerDate(Date innerDate) {
>             this.innerDate = innerDate;
>         }
>     }
>
> SecondEntity:
>
>     @XStreamAlias("SecondEntity")
>     public class SecondEntity {
>         @XStreamAlias("secondaryString")
>         private String secondaryString;
>         @XStreamAlias("secondaryDate")
>         private Date secondaryDate;
>
>         public String getSecondaryString() {
>             return secondaryString;
>         }
>
>         public void setSecondaryString(String secondaryString) {
>             this.secondaryString = secondaryString;
>         }
>
>         public Date getSecondaryDate() {
>             return secondaryDate;
>         }
>
>         public void setSecondaryDate(Date secondaryDate) {
>             this.secondaryDate = secondaryDate;
>         }
>     }
>
>
> I get
>
>     <SomeEntity>
>         <innerEntity>
>             <innerDate>2013-02-28 18:04:24.184 UTC</innerDate>
>             <innerString>Inner String</innerString>
>         </innerEntity>
>         <secondEntity>
>             <secondaryDate>2013-02-28 18:04:24.183 UTC</secondaryDate>
>             <secondaryString>Secondary String</secondaryString>
>         </secondEntity>
>         <someDate>2013-02-28 18:04:24.184 UTC</someDate>
>         <someString>Some string</someString>
>     </SomeEntity>
>
> When I need:
>
>     <SomeEntity>
>         <innerEntity>
>             <innerString>Inner String</innerString>
>             <innerDate>2013-02-28 18:04:24.184 UTC</innerDate>
>         </innerEntity>
>         <secondEntity>
>             <secondaryString>Secondary String</secondaryString>
>             <secondaryDate>2013-02-28 18:04:24.183 UTC</secondaryDate>
>         </secondEntity>
>         <someDate>2013-02-28 18:04:24.184 UTC</someDate>
>         <someString>Some string</someString>
>     </SomeEntity>
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe from this list, please visit:
>
>     http://xircles.codehaus.org/manage_email
>
>
>

Reply via email to