我在java中创建了一个web服务,该方法返回一个字符串(XML格式的通用列表).我从Android使用这个web服务,我得到了这个字符串,但经过几次尝试后,Android模拟器在尝试反序列化字符串时崩溃了.这是我得到的字符串的示例:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<peliculas>
<pelicula>
<id>18329</id>
<poster>http://cache-cmx.netmx.mx/image/muestras/5368.rrr.jpg</poster>
<titulo>007 Operaci&oacute;n Skyfall</titulo>
</pelicula>
...
</peliculas>
Run Code Online (Sandbox Code Playgroud)
这是webservice中的类:
@XmlRootElement
public class Peliculas{
@XmlElement(name="pelicula")
protected List<Pelicula> peliculas;
public Peliculas(){ peliculas = new ArrayList<Pelicula>();}
public Peliculas(List<Pelicula> pe){
peliculas = pe;
}
public List<Pelicula> getList(){
return peliculas;
}
public void add(Pelicula pelicula) {
peliculas.add(pelicula);
}
}
Run Code Online (Sandbox Code Playgroud)
__ _ __ _ __ 编辑_ __ _ __ _ __ _ __ _ _
看起来你不能在Android上使用JAXB,并且有更好/更轻的库.所以我尝试了Simple XML.这是方法:
public Peliculas unmarshal(String xml) throws Exception{
Peliculas peliculas = new Peliculas(); …Run Code Online (Sandbox Code Playgroud)