小编Pun*_*dia的帖子

从XML反序列化/解组通用列表以在Android中列出

我在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&amp;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)

java android web-services jaxb marshalling

7
推荐指数
1
解决办法
1447
查看次数

标签 统计

android ×1

java ×1

jaxb ×1

marshalling ×1

web-services ×1