i'm working with Android and SimpleXML

I need to parse this XML file with SimpleXML:

    
    <magazine title="Número 1" id="1">
        <description>yutyutyu</description>
        
<miniature>http://web.com/scripts/getImage.php?idMagazine=1&resource=miniature.jpg</miniature>
        <summary>2</summary>
        <pages>
            <page 
src="http://web.com/scripts/getImage.php?idMagazine=1&resource=page_001.jpg"; 
id="1" 
thumbnail="http://web.com/scripts/getImage.php?idMagazine=1&resource=thumbnail_001.jpg";>
                <areas>
                    <area id="1">
                        <top>188</top>
                        <left>204</left>
                        <width>399</width>
                        <height>319</height>
                        <action 
type="openBrowser">http://www.web.com</action>
                    </area>
                    <area id="2">
                        <top>188</top>
                        <left>204</left>
                        <width>399</width>
                        <height>319</height>
                        <action 
type="openBrowser">http://www.web.com</action>
                    </area>
                </areas>
            </page>
            <page 
src="http://web.com/scripts/getImage.php?idMagazine=1&resource=page_002.jpg"; 
id="2" 
thumbnail="web.com/scripts/getImage.php?idMagazine=1&resource=thumbnail_002.jpg"/>
            <page 
src="http://web.com/scripts/getImage.php?idMagazine=1&resource=page_003.jpg"; 
id="3" 
thumbnail="web.com/scripts/getImage.php?idMagazine=1&resource=thumbnail_003.jpg"/>
        </pages>    
    </magazine>


I'm getting this exception:

    03-22 16:02:35.072: WARN/System.err(1931): 
org.simpleframework.xml.core.ValueRequiredException: Unable to satisfy 
@org.simpleframework.xml.ElementList(data=false, empty=true, entry=, 
inline=false, name=, required=true, type=void) on field 'areas' public 
java.util.ArrayList com.Magazine.Page.areas for class com.Magazine.Page at 
line 1

These are my java clases... ¿what is wrong?

    @Root (name="magazine")
    public class FullMagazine {
        @Attribute
        String title;
        @Attribute
        String id;
        @Element
        String description;
        @Element
        String miniature;
        @Element
        int summary;
        @ElementList
        public ArrayList<Page> pages;
        
        public String getTitle() {
            return title;
        }
        public String getId() {
            return id;
        }
        public String getDescription() {
            return description;
        }
        public Bitmap getMiniature() {
            return Util.getRemoteBitmap(miniature);
        }    
        
        public static FullMagazine Load(String xml){ 
            Serializer serializer = new Persister();
            try{
                return serializer.read(FullMagazine.class, xml);
            }catch (Exception e) {e.printStackTrace();}
            return null; //si llega aquí es que ha fallado.
        }
    }
    
    
    @Root
    public class Page {
        @Attribute
        String src;
        @Attribute
        String id;
        @Attribute
        String thumbnail;
        @ElementList
        public ArrayList<Area> areas;
    }
    
    
    @Root
    public class Area {
        @Attribute
        String id;    
        @Element
        int top;
        @Element
        int left;
        @Element
        int width;
        @Element
        int height;
        @Element
        Action action;
    }
    
    @Root
    public class Action {    
        @Attribute
        String type;    
        
        String action;
    }

    

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to