Autore Topic: Parsing XML  (Letto 795 volte)

Offline Teo

  • Utente junior
  • **
  • Post: 98
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Acer Liquid E / Xoom2
  • Sistema operativo:
    Mac OS X 10.8
Parsing XML
« il: 07 Agosto 2012, 23:41:47 CEST »
0
Ciao a tutti, ho proprio bisogno di aiuto.. :D

Devo deserizializzare una stringa xml in una serie di oggetti:

La stringa xml è così formata:
Codice (XML): [Seleziona]
<response>
<row>
<row _id="2" _uuid="9C2FC54D-A74C-4069-9B85-781A2D3AF98E" _position="2" >
<campo1>valore</campo1>
<campo2>valore</campo2>
<campo3>valore</campo3>
<campo4>valore</campo4>
<campo5>valore</campo5>
<campo6>valore</campo6>
<campo7>valore</campo7>
<campo8>valore</campo8>
</row>
<row _id="3" _uuid="C6768E30-0C68-4F05-924D-50A757344FE8" _position="3">
<campo1>valore</campo1>
<campo2>valore</campo2>
<campo3
                  .
                  .
                  .
</row>

e così via

</response>

Tutti i valori contentuti in campo1, campo2, ....., sono i campi necessari a popolare degli oggetti della mia applicazione..

Ho provato veramente di tutto ma non sono riuscito a recuperare solo quei dati per popolare gli oggetti,
uso Xstream per fare ciò..


Qualcuno può aiutarmi, spiegarmi, come e cosa devo fare??

Grazie

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Parsing XML
« Risposta #1 il: 08 Agosto 2012, 10:12:31 CEST »
0
Purtroppo non conosco Xstream, però se descrivi meglio il genere di problema o posti l'errore, forse qualcuno riesce a darti qualche dritta.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline Teo

  • Utente junior
  • **
  • Post: 98
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Acer Liquid E / Xoom2
  • Sistema operativo:
    Mac OS X 10.8
Re:Parsing XML
« Risposta #2 il: 08 Agosto 2012, 17:19:52 CEST »
0
La stessa stringa l'ho in formato Json, se riesci a darmi una mano con quello  ;)  la posto subito  :P

Questo è l'errore che da:

com.thoughtworks.xstream.converters.ConversionException: Element row of type com.teo.mypackage.domain.MyClass  is not defined as field in type com.teo..mypackage.domain.MyClass
---- Debugging information ----
class               : com.teo.mypackage.domain.MyClass
required-type       : com.teo.mypackage.domain.MyClass
converter-type      : com.thoughtworks.xstream.converters.reflection.ReflectionConverter
path                : /row/row
line number         : 1
version             : 0.0
-------------------------------


e sinceramente non capisco mosa fare..

Questo è l codice che uso:

Codice (Java): [Seleziona]
   DefaultHttpClient client = new DefaultHttpClient();
      HttpUriRequest getRequest = new HttpGet("url.xml");
      HttpResponse vr = client.execute(getRequest);
     
       String var = handleResponse(vr);
       int indexFirstResponse = var.indexOf("<response>", 0)+10;
       int indexLastResponse = var.indexOf("</response>", 0)+11;
       String stringa = var.substring(indexFirstResponse, indexLastResponse);
       XStream xstream = new XStream();
         xstream.alias("row", MyClass.class);
         Object prova = xstream.fromXML(stringa);

Offline Nicola_D

  • Moderatore
  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Parsing XML
« Risposta #3 il: 08 Agosto 2012, 22:55:32 CEST »
0
con il json è molto piu semplice, le librerie sono già integrate in android
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline Teo

  • Utente junior
  • **
  • Post: 98
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Acer Liquid E / Xoom2
  • Sistema operativo:
    Mac OS X 10.8
Re:Parsing XML
« Risposta #4 il: 08 Agosto 2012, 23:07:24 CEST »
0
Va benissimo anche il Json, l'importante è riuscire a deserializzare  :-)

Il Json è fatto così:
{
  "meta": {
    "view": {
        altri campi che non mi interessano
              "columns": [
                            {
                               valori
                            }
               ]


 i valori che volgio


"data": [
    [
      gli 8 valori come nel xml
    ],
    [
        gli 8 valori come nel xml
    ],
    [
      gli 8 valori come nel xml
]

 ]
}



Come faccio però a prendere i vaolori contenuti in data??
« Ultima modifica: 08 Agosto 2012, 23:10:04 CEST da Teo »