将 XML 转换为对象 xstream ( Android )
Convert XML to Object xstream ( Android )
我正在寻求有关通过 XStream 将 xml 转换为对象的帮助,这是我的 XML
<main>
<listDTO>
<MyObject>
<test>value1</test>
</MyObject>
<MyObject>
<test>value2</test>
</MyObject>
</listDTO>
</main>
这是我的 类。
public class First{
MyObject[] listDTO;
}
public class MyObject{
String test;
}
与 xstream :
...
XStream xStream = new XStream();
xStream.alias("main",First.class);
xStream.alias("listDTO", MyObject.class);
xStream.addImplicitCollection(First.class,"listDTO");
....
标签 <listDTO>
有问题,我无法更改 XML 。 类 是使用 Eclipse 从 wsdl 生成的。
你能帮帮我吗?
您的代码应如下所示:
XStream xStream = new XStream();
xStream.alias("main", First.class);
xStream.alias("MyObject", MyObject.class);
首先,您没有隐式集合,而是用 listDTO
标记标记的显式集合。使用隐式收集,您的 XML 将是:
<main>
<MyObject>
<test>value1</test>
</MyObject>
<MyObject>
<test>value2</test>
</MyObject>
</main>
您犯的第二个错误是为 MyObject
class 添加了 listDTO
别名。这应该替换为 MyObject
别名,因为您确实在 XML 中定义了 MyObject
标签,对应于 MyObject
class.
我正在寻求有关通过 XStream 将 xml 转换为对象的帮助,这是我的 XML
<main>
<listDTO>
<MyObject>
<test>value1</test>
</MyObject>
<MyObject>
<test>value2</test>
</MyObject>
</listDTO>
</main>
这是我的 类。
public class First{
MyObject[] listDTO;
}
public class MyObject{
String test;
}
与 xstream :
...
XStream xStream = new XStream();
xStream.alias("main",First.class);
xStream.alias("listDTO", MyObject.class);
xStream.addImplicitCollection(First.class,"listDTO");
....
标签 <listDTO>
有问题,我无法更改 XML 。 类 是使用 Eclipse 从 wsdl 生成的。
你能帮帮我吗?
您的代码应如下所示:
XStream xStream = new XStream();
xStream.alias("main", First.class);
xStream.alias("MyObject", MyObject.class);
首先,您没有隐式集合,而是用 listDTO
标记标记的显式集合。使用隐式收集,您的 XML 将是:
<main>
<MyObject>
<test>value1</test>
</MyObject>
<MyObject>
<test>value2</test>
</MyObject>
</main>
您犯的第二个错误是为 MyObject
class 添加了 listDTO
别名。这应该替换为 MyObject
别名,因为您确实在 XML 中定义了 MyObject
标签,对应于 MyObject
class.