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 > > >