2010-12-14 30 views
1

Je veux convertir ci-dessous XML en objets. JeConvertisseur de tableau XSTREAM

<authentication> 
    <name>Reese Rideout</name> 
    <shows type="array"> 
     <show>stage</show> 
     <show>youtube</show> 
    </shows> 
</authentication> 

Je classe avec authentification Liste <Montrez> spectacles. Je crois que je vais devoir utiliser le convertisseur de tableau. Cependant, je ne comprends pas comment l'utiliser et je ne trouve aucun document.

Veuillez suggérer comment je pourrais analyser ceci dans mon graphique d'objet.

Répondre

2

Voici comment je fixe ceci:

xstream.alias("shows", Shows.class); 
xstream.alias("show", String.class); 

et également définir le champ Shows.shows comme une collection implicite: xstream.addImplicitCollection(Shows.class, "shows");

+0

Je ne suis pas totalement comprendre votre réponse. Pouvez-vous donner plus de détails comme Jigar Joshi l'a fait? Quel est le contexte d'utilisation de .addImplicitCollection? – djangofan

2

Pour

<authentication> 
     <name>Reese Rideout</name> 
     <shows type="array"> 
     <show>stage</show> 
     <show>youtube</show> 
     </shows> 
    </authenticatoin> 

vous pouvez avoir

class Authentication{ 
String name; 
List<Show> shows; 
} 

class Show{ 
List<String> show; 
} 

Vous devez utiliser aliasing

xstream.alias("authentication", Authentication.class); 
xstream.alias("Show", Show.class); 
+0

peut montrer être un objet au lieu de chaîne? –

+0

@Jinesh il peut être, mais à partir du XML que vous avez donné, il n'est pas nécessaire de le prendre comme objet, String le fera pour vous –

+0

Cela n'a pas fonctionné. l'alias que je configure est xstream.aliasField ("show", Show.class, "show"); –