Très facile à résoudre problème avec SimpleXML. Ce que je fais mal?
je travaille avec Java et SimpleXML
J'ai besoin d'analyser ce fichier XML avec 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>
Je suis de cette exception:
03-22 16:02:35.072: ALERTER/Système.err(1931): org.simpleframework.xml.de base.ValueRequiredException: Impossible de satisfaire @org.simpleframework.xml.ElementList(data=false, vide=true, entrée=, inline=false, nom=, required=true, type=void) sur le champ des secteurs public java.util.ArrayList com.Magazine.Page.les zones de la classe com.Magazine.Page à la ligne 1
Magazine a un tableau de pages, et chaque page a une variété de domaines, et chaque région a une classe d'action, qui a un peu plus de contenu. Le problème doit être mis sur les zones de tableau, de sorte qu'il est dans la classe de la Page.
@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;
}
OriginalL'auteur Alex Salom | 2012-03-22
Vous devez vous connecter pour publier un commentaire.
Vous devez mettre required=false sur la liste de tableaux de domaines, certaines des Pages du document XML n'a pas de Zones
required
attribut a été défini àtrue
, la bibliothèque a été le déclenchement d'une exception si un nœud n'a pas été trouvé. Merci!Congratz @NullPointerException!
OriginalL'auteur NullPointerException
Que des erreurs apparaissent quand j'ai eu des erreurs dans le fichier XML (comme unended tag).
Pour quelqu'un qui a le même problème et est venu à ce poste.
OriginalL'auteur raiym