PDA

View Full Version : [Java] Connessione ad un web service e parsing dell'XML ricevuto, AIUTO !!!


e-commerce84
29-10-2010, 20:05
Ciao,
stò letteralmente impazzendo con un progetto universitario. Praticamente ho un'applicazione Android che si deve connettere ad un WS da cui riceve un file XML (ma non vi preoccupate, si tratta di Java standard, anzi la parte della classe relativa ad Android non la pubblico neanche, questo codice potrebbe essere schiaffato identico in una qualsiasi normalissima applicazione Java).

In pratica la classe GuidaSubActivity effettua una connessione ad un mio web service passandogli 3 parametri: una latitudine, una longitudine ed un range (che è stato scritto in Java Spring), il WS gli restituisce un file XML contenente dei dati che devono essere parsati. I dati in questione contenuti nell'XML rappresentano una lista di punti di interesse dove ogni punto di interesse ha determinati campi come: longitudine, latitudine, nome, descrizione.

Il parsing consiste semplicemente nello scorrere questo file XML contenente questi punti di interesse, e di mettere i valori dei campi di ogni punto di interesse presenti nell'XML in un oggetto POI (che rappresenta un punto di interesse) al fine di creare una lista di POI

Il WS funziona più che correttamente: posso invocarne il relativo metodo passandogli la latitudine, longitudine e range sia dal browser sia usando SoapUI e tutto funziona benone...

Stò incontrando però grossissimi problemi però a creare la connessione con il WS ed a parsare l'XML ricevuto.

Vi spiego cosa ho fatto:

1) Nella classe GuidaSubActivity della mia applicazione ho il metodo getPois() che si connette al WS da cui ottiene la lista di punti di interesse, il codice di tale metodo è il seguente:


//metodo che chiama il WS
public List<Poi> getPois(String userLon, String userLat, String userRange){

/* Loggo l'entrata nel metodo getPois() che effettua la chiamata al web service ed i parametri ricevuti */
Log.d("Sono appena entrato nel metodo getPois() ed i parametri passati sono, userLon:", userLon);
Log.d("userLon: ", userLon);
Log.d("userLat: ", userLat);
Log.d("userRange: ", userRange);

List<Poi> pois = null;
//Log.d("pois punta a: ", pois.toString());

Toast.makeText(this, "Loading POIs..", Toast.LENGTH_LONG).show();

String soapRequest = "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:exam=\"http://example\">\n" +
" <soapenv:Header/>\n" +
" <soapenv:Body>\n" +
" <exam:getRangePoi>\n" +
" <exam:lon>"+userLon+"</exam:lon>\n" +
" <exam:lat>"+userLat+"</exam:lat>\n" +
" <exam:range>"+userRange+"</exam:range>\n" +
" </exam:getRangePoi>\n" +
" </soapenv:Body>\n" +
"</soapenv:Envelope>";

Log.d("Ho messo il seguente XML con parametri dinamici nella variabile soapRequest", soapRequest);

String soapAction = "";
Log.d("La soap action vale: ", soapAction.toString());

StringBuffer buffer = sendSoapRequest(soapRequest, soapAction);
Log.d("Mette nel buffer il risultato restituito da sendSoapRequest: ", buffer.toString());

try{
SAXParserFactory factory = SAXParserFactory.newInstance();
SAXParser parser = factory.newSAXParser();
Log.d("Crea il parser che punta all'oggetto con indirizzo: ", parser.toString());

// System.out.println(buffer.toString()); // Che è sta robba ?!?! booo pussa viaaa !!!


StringReader sr = new StringReader(buffer.toString());
Log.d("E' stato creato uno StringReader sr e passagli il contenuto del buffer in forma di stringa", sr.toString());
InputSource is = new InputSource(sr);
Log.d("E' stato creato un oggetto InputSource is a cui viene passato il riferimento all'oggetto sr ", is.toString());

PoiSaxHandler handler = new PoiSaxHandler();
Log.d("E' stato creato l'oggetto handler di tipo PoiSaxHandler", handler.toString());

// ATTENZIONEEE NON EFFETTUA IL PARSING !!!
parser.parse(is,handler);
Log.d("Passo al parser l'oggetto is che è:", is.toString());
Log.d("Passo al pareser l'oggetto handler che è: ", handler.toString());

pois = handler.getPois(); // NB: Variabile dichiarata all'inizio del metodo
Log.d("Invoco il metodo getPois sull'oggetto handler", "suka");

System.out.println("HttpClient.main pois "+pois.toString());

}catch(Exception e){

}
Log.d("MioProgramma", pois.toString());
return pois;
}


L'unica cosa relativa ad Android che c'è in questo codice è il metodo Log.d() che semplicemente consente di loggare le operazioni in un'apposita finestra di Eclipse, volendo potete sostituire Log.d con un banale println e fargli stampare la stessa cosa...il concetto è quello. Poi ci stà il metodo Toast che di fatto è un printf in Android (volendo basta toglierlo e non cambia nulla)

Praticamente questo metodo: riceve come parametri di input la longitudine e la latitudine in cui si trova l'utente ed un certo range e deve restituire al chiamante una lista di oggetti Poi che contiene tutti i punti di interesse entro un certo range kilometrico centrato sulla posizione dell'utente, la lista viene restituita appunto dal WS.

Come prima cosa dichiara una lista di generici oggetti Poi che punta inizialmente a null. Questa è la variabile che dovrà in fine essere restituita dal metodo in questione.

Poi dichiaro una variabile di tipo String chiamata soapRequest che contiene appunto la richiesta soap generata con soapUI. La richiesta soap è in forma XML ed ho fatto in modo da rendere dinamici i parametri userLon, userLat ed userRange. Dovrebbe essere correttissima !!! Infatti la loggo e mi pare di vederla corretta nei Log di Android (eventualmente basta fare un println)

Poi ho definito una variabile soapAction vuota perchè in questa richiesta al WS non ho bisogno di una Soap Action.

Poi creo una variabile StringBuffer buffer in cui metto il risultato ritornato dal metodo sendSoapRequest che come parametri prende la soapRequest e la soapAction precedentemente create e restituisce credo l'XML da parsare ricevuto dal WS, ecco quì il risultato loggato (non fate caso ai valori messi...hanno nome a cavolo perchè nel DB ho inserito punti con nomi e dati a cavolo ma mi pare essere corretto)


10-29 17:51:03.547: DEBUG/Mette nel buffer il risultato restituito da sendSoapRequest:(322): <?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soapenv:Body><getRangePoiResponse xmlns="http://example"><getRangePoiReturn><getRangePoiReturn xsi:type="ns1:Map" xmlns:ns1="http://xml.apache.org/xml-soap"><item xmlns=""><key xsi:type="xsd:string">WikiLink</key><value xsi:type="xsd:string">link 2</value></item><item xmlns=""><key xsi:type="xsd:string">Alt</key><value xsi:type="xsd:float">0.0</value></item><item xmlns=""><key xsi:type="xsd:string">Tipologia</key><value xsi:type="xsd:int">0</value></item><item xmlns=""><key xsi:type="xsd:string">Distance</key><value xsi:type="xsd:double">0.0</value></item><item xmlns=""><key xsi:type="xsd:string">Lat</key><value xsi:type="xsd:float">0.0</value></item><item xmlns=""><key xsi:type="xsd:string">Id</key><value xsi:type="xsd:int">3</value></item><item xmlns=""><key xsi:type="xsd:string">Lon</key><value xsi:type="xsd:float">0.0</value></item><item xmlns=""><key xsi:type="xsd:string">Nome</key><value xsi:type="xsd:string">test 2</value></item></getRangePoiReturn><getRangePoiReturn xsi:type="ns2:Map" xmlns:ns2="http://xml.apache.org/xml-soap"><item xmlns=""><key xsi:type="xsd:string">WikiLink</key><value xsi:type="xsd:string">lll</value></item><item xmlns=""><key xsi:type="xsd:string">Alt</key><value xsi:type="xsd:float">0.0</value></item><item xmlns=""><key xsi:type="xsd:string">Tipologia</key><value xsi:type="xsd:int">0</value></item><item xmlns=""><key xsi:type="xsd:string">Distance</key><value xsi:type="xsd:double">0.0</value></item><item xmlns=""><key xsi:type="xsd:string">Lat</key><value xsi:type="xsd:float">0.0</value></item><item xmlns=""><key xsi:type="xsd:string">Id</key><value xsi:type="xsd:int">13</value></item><item xmlns=""><key xsi:type="xsd:string">Lon</key><value xsi:type="xsd:float">0.0</value></item><item xmlns=""><key xsi:type="xsd:string">Nome</key><value xsi:type="xsd:string">aaab</value></item></getRangePoiReturn><getRangePoiReturn xsi:type="ns3:Map" xmlns:ns3="http://xml.apache.org/xml-soap"><item xmlns=""><key xsi:type="xsd:string">WikiLink</key><value xsi:type="xsd:string">lll</value></item><item xmlns=""><key xsi:type="xsd:string">Alt</key><value xsi:type="xsd:float">0.0</value></item><item xmlns=""><key xsi:type="xsd:string">Tipologia</key><value xsi:type="xsd:int">0</value></item><item xmlns=""><key xsi:type="xsd:string">Distance</key><value xsi:type="xsd:double">0.0</value></item><item xmlns=""><key xsi:type="xsd:string">Lat</key><value xsi:type="xsd:float">0.0</value></item><item xmlns=""><key xsi:type="xsd:string">Id</key><value xsi:type="xsd:int">12</value></item><item xmlns=""><key xsi:type="xsd:string">Lon</key><value xsi:type="xsd:float">0.0</value></item><item xmlns=""><key xsi:type="xsd:string">Nome</key><value xsi:type="xsd:string">jiji</value></item></getRangePoiReturn><getRangePoiReturn xsi:type="ns4:Map" xmlns:ns4="http://xml.apache.org/xml-soap"><item xmlns=""><key xsi:type="xsd:string">WikiLink</key><value xsi:type="xsd:string"></value></item><item xmlns=""><key xsi:type="xsd:string">Alt</key><value xsi:type="xsd:float">0.0</value></item><item xmlns=""><key xsi:type="xsd:string">Tipologia</key><value xsi:type="xsd:int">0</value></item><item xmlns=""><key xsi:type="xsd:string">Distance</key><value xsi:type="xsd:double">0.0</value></item><item xmlns=""><key xsi:type="xsd:string">Lat</key><value xsi:type="xsd:float">0.0</value></item><item xmlns=""><key xsi:type="xsd:string">Id</key><value xsi:type="xsd:int">11</value></item><item xmlns=""><key xsi:type="xsd:string">Lon</key><value xsi:type="xsd:float">0.0</value></item><item xmlns=""><key xsi:type="xsd:string">Nome</key><value xsi:type="xsd:string">POITest222</value></item></getRangePoiReturn><getRangePoiReturn xsi:type="ns5:Map" xmlns:ns5="http://xml.apache.org/xml-soap"><item xmlns=""><key xsi:type="xsd:string">WikiLink</key><value xsi:type="x


Poi crea un SaxParser che credo sia l'oggetto che mi servirà a parsare quell'XML brutto brutto che ho ricevuto. Anche quà loggo l'oggetto parser appena creato e pare che venga creato correttamente!!!

Poi creo gli oggetti StringReader sr ed InputSource is ed anche questi li loggo e dovrebbero essere ok

Con la seguente riga di codice creo il mio handler personale che dovrebbe essere l'oggetto che contiene le regole per parsare il mio XML (almeno da quanto ho capito...mi date conferma? non ho fatto tutto io, è un progetto di gruppo)

PoiSaxHandler handler = new PoiSaxHandler();

Infine parserizzo l'oggetto con questa riga e quì si inchioda !!! Non riesce a terminare questo metodo:

parser.parse(is,handler);

Il metodo parse invocato sul parser passandogli l'input source e l'handler che gli dice come parserizzare non termina !!!

In realtà appaiono dei messaggi di log che ho fatto nel codice dell'handler...quindi pare che in qualche modo l'handler faccia qualcosa e pare evidente che si vada ad inchiodare da qualche parte dentro l'handler.

Il codice della classe PoiSaxHandler è il seguente:


package mieapplicazioni.Http;

import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;

import android.util.Log;

import java.util.ArrayList;
import java.util.List;

public final class PoiSaxHandler extends DefaultHandler {


private boolean isId;
private boolean isLat;
private boolean isLon;
private boolean isAlt;
private boolean isTipologia;
private boolean isWiki;
private boolean isPoiId;
private boolean isNome;
private int cicle=0;

// invoked when document-parsing is started:
public void startDocument() throws SAXException {
System.out.println("Document processing started");
}
private Poi p = null;
private List<Poi> pois=new ArrayList<Poi>();

private String currentElement = null;

// notifies about finish of parsing:
public void endDocument() throws SAXException {
pois.add(p);
System.out.println("Document processing finished");
}

// we enter to element 'qName':
public void startElement(String uri, String localName,
String qName, Attributes attrs) throws SAXException {

String key="";
if (qName.equals("soapenv:Envelope")) {
currentElement=qName;
} else if (qName.equals("soapenv:Body")) {
currentElement=qName;
System.out.println("SimpleSaxHandler$SaxHandler.startElement body");

} else if (qName.equals("listPoiReturn"))
{
currentElement=qName;
//System.out.println("SimpleSaxHandler$SaxHandler.startElement listPois");
}
else if(qName.equals("getRangePoiResponse"))
{
currentElement=qName;
}
else if(qName.equals("getRangePoiReturn"))
{
currentElement=qName;
System.out.println("PoiSaxHandler.startElement "+attrs.getLocalName(0));
if(attrs.getLocalName(0)!=null&&attrs.getLocalName(0).equals("xsi:type"))
{
//System.out.println("SimpleSaxHandler$SaxHandler.startElement nuovo pois");

if(cicle==0)
p=new Poi();
else{
pois.add(p);
p=new Poi();
}
cicle++;
}
}
else if (qName.equals("item"))
{
currentElement=qName;


}
else if (qName.equals("key"))
{
currentElement=qName;
//System.out.println("SimpleSaxHandler$SaxHandler "+currentElement);

//System.out.println("SimpleSaxHandler$SaxHandler.startElement key "+key);
}
else if (qName.equals("value"))
{
currentElement=qName;

//System.out.println("SimpleSaxHandler$SaxHandler.startElement value di "+key+" -->"+attrs.getQName(0));
}

else {
throw new IllegalArgumentException("Element '" +
qName + "' is not allowed here");
}
}




// we leave element 'qName' without any actions:
public void endElement(String uri, String localName, String qName)
throws SAXException {

//System.out.println("SimpleSaxHandler$SaxHandler.endElement "+qName);



}

public void characters(char ch[], int start, int length)
throws SAXException {


if(currentElement.equals("key")&&(new String(ch, start, length).equals("Id")))
isId=true;
else if(currentElement.equals("key")&&(new String(ch, start, length).equals("Lat")))
isLat=true;
else if(currentElement.equals("key")&&(new String(ch, start, length).equals("Lon")))
isLon=true;
else if(currentElement.equals("key")&&(new String(ch, start, length).equals("Alt")))
isAlt=true;
else if(currentElement.equals("key")&&(new String(ch, start, length).equals("Tipologia")))
isTipologia=true;
else if(currentElement.equals("key")&&(new String(ch, start, length).equals("Nome")))
isNome=true;
else if(currentElement.equals("key")&&(new String(ch, start, length).equals("Wikilink")))
isWiki=true;
else if(currentElement.equals("key")&&(new String(ch, start, length).equals("Distance")))
isPoiId=true;
//System.out.println("currentElement: "+currentElement+" -->"+ new String(ch, start, length));
if (isId&&currentElement.equals("value")) {
p.setId(Long.parseLong(new String(ch, start, length)));
System.out.println("id: "
+ new String(ch, start, length));
isId=false;
}else if (isLat&&currentElement.equals("value")) {
p.setLat(Float.parseFloat(new String(ch, start, length)));
System.out.println("lat: "
+ new String(ch, start, length));
isLat=false;
}else if (isLon&&currentElement.equals("value")) {
p.setLon(Float.parseFloat(new String(ch, start, length)));
System.out.println("lon: "
+ new String(ch, start, length));
isLon=false;
}
else if(currentElement.equals("value")&&(isAlt))
{
p.setAlt(Float.parseFloat(new String(ch, start, length)));
System.out.println("alt: "
+ new String(ch, start, length));
isAlt=false;;
}
else if(currentElement.equals("value")&&(isTipologia))
{
String sTipologia=new String(ch, start, length);
int tipologia=0;
if(sTipologia!=null&&!sTipologia.equals(""))
tipologia=Integer.parseInt(sTipologia);

p.setTipologia(tipologia);
System.out.println("Tipologia: "
+ new String(ch, start, length));
isTipologia=false;

}
else if(currentElement.equals("value")&&(isNome))
{
p.setNome(new String(ch, start, length));
System.out.println("Nome: "
+ new String(ch, start, length));
isNome=false;

}
else if(currentElement.equals("value")&&(isWiki))
{
p.setWikilynk(new String(ch, start, length));
System.out.println("Wiki: "
+ new String(ch, start, length));
isWiki=false;

}
else if(currentElement.equals("value")&&(isPoiId))
{
String sPoiId=new String(ch, start, length);
Long poiId=0L;
//if(sPoiId!=null&&!sPoiId.trim().equals(""))
//poiId=Long.parseLong(sPoiId);
p.setPoiId(sPoiId);
System.out.println("PoiId: "
+ new String(ch, start, length));
isPoiId=false;

}
}

public List<Poi> getPois() {
//Log.d("Sono entranto nel metodo getPois dentro la classe PoiSaxHandler", "1");
// Log.d("getPoisHandler", pois.toString());
return pois;
}
// do nothing;
}


I messaggi di log che si visualizzano sono i seguenti:


10-29 17:51:03.571: INFO/System.out(322): Document processing started
10-29 17:51:03.571: INFO/System.out(322): SimpleSaxHandler$SaxHandler.startElement body
10-29 17:51:03.571: INFO/System.out(322): PoiSaxHandler.startElement null
10-29 17:51:03.571: INFO/System.out(322): PoiSaxHandler.startElement type
10-29 17:51:03.571: DEBUG/AndroidRuntime(322): Shutting down VM


Questa volta non sono stati creati con il metodo log ma più banalmente con println e si può vedere che il primo viene stampato quando parte il metodo startDocument() e gli altri sempre in altri punti dell'handler dove arriva...quindi pare probabile che il problema sia da ricercare in questa classe dell'handler che non riesce a fare qualcosa !!!

Sono veramente disperato, sono 3 settimane che ci combatto e che non ne riesco a venire a capo !!! C'è qualche anima pia con esperienza in connessione con WS che mi sà dire dov'è il problema? Guardate se mi date una mano ve ne sarei estremamente riconoscente ma sono disposto anche a pagare se la cosa richiedesse troppo impegno

Grazie mille

Gimli[2BV!2B]
30-10-2010, 00:03
Hai volutamente snellito il codice rimuovendo il contenuto del blocco catch?

Se la risposta è sì, e schianta senza lanciare nessuna eccezione, di solito questo è dovuto all'utilizzo di un jar con dipendenze non completamente soddisfatte. In questo caso direi che potrebbe mancare qualcosa che è necessario a queste classi SAX.
(Se qualcuno avesse voglia di spiegare come analizzare meglio situazioni di questo tipo gliene sarei molto grato: le poche volte che mi è successo ho rintracciato le dipendenze mancanti in internet)

Se la risposta è no, prova a controllare se viene lanciata qualche eccezione ed, eventualmente, cosa dice (esempio generico):
[...]

}catch(Exception e){
System.out.print( "Eccezione -> " + e.toString() );
String sMessage = e.getMessage();
if(sMessage != null){
System.out.print( ": " + sMessage );
}
System.out.println();
}
Log.d("MioProgramma", pois.toString());
return pois;
}

e-commerce84
30-10-2010, 00:48
no in effetti nel blocco catch{} non avevo messo nulla

Attualmente (senza averci messo nulla) il programma si schianta e nel LogCat (semplicemente la zona in Eclipse dove vengono visualizzati i messaggi di errore ed i log di Android, come già detto di fatto sempre di classicissimo Java si tratta) dice questo:


10-29 22:36:31.038: DEBUG/AndroidRuntime(315): Shutting down VM
10-29 22:36:31.038: WARN/dalvikvm(315): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
10-29 22:36:31.098: ERROR/AndroidRuntime(315): FATAL EXCEPTION: main
10-29 22:36:31.098: ERROR/AndroidRuntime(315): java.lang.NullPointerException
10-29 22:36:31.098: ERROR/AndroidRuntime(315): at mieapplicazioni.guidageoreferenziata.GuidaSubActivity.getPois(GuidaSubActivity.java:239)
10-29 22:36:31.098: ERROR/AndroidRuntime(315): at mieapplicazioni.guidageoreferenziata.GuidaSubActivity$1.onClick(GuidaSubActivity.java:90)
10-29 22:36:31.098: ERROR/AndroidRuntime(315): at android.view.View.performClick(View.java:2408)
10-29 22:36:31.098: ERROR/AndroidRuntime(315): at android.view.View$PerformClick.run(View.java:8816)
10-29 22:36:31.098: ERROR/AndroidRuntime(315): at android.os.Handler.handleCallback(Handler.java:587)
10-29 22:36:31.098: ERROR/AndroidRuntime(315): at android.os.Handler.dispatchMessage(Handler.java:92)
10-29 22:36:31.098: ERROR/AndroidRuntime(315): at android.os.Looper.loop(Looper.java:123)
10-29 22:36:31.098: ERROR/AndroidRuntime(315): at android.app.ActivityThread.main(ActivityThread.java:4627)
10-29 22:36:31.098: ERROR/AndroidRuntime(315): at java.lang.reflect.Method.invokeNative(Native Method)
10-29 22:36:31.098: ERROR/AndroidRuntime(315): at java.lang.reflect.Method.invoke(Method.java:521)
10-29 22:36:31.098: ERROR/AndroidRuntime(315): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
10-29 22:36:31.098: ERROR/AndroidRuntime(315): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
10-29 22:36:31.098: ERROR/AndroidRuntime(315): at dalvik.system.NativeStart.main(Native Method)
10-29 22:36:31.188: WARN/ActivityManager(59): Force finishing activity mieapplicazioni.guidageoreferenziata/.GuidaSubActivity


che però non è molto significativo perchè la riga 239 è quella prima del return del metodo, cioè questa:
Log.d("MioProgramma", pois.toString());

di fatto credo che mi stia dicendo che dentro la variabile pois che dovrebbe ritornare non ci stà un cippalippa.

La riga 90 invece è dove và ad invocare il metodo getPois() nella classe GuidaSubActivity, quindi semplicemente gli stà ritornando ulteriormente indietro l'eccezione...

ho provato ad inserire il codice che mi hai detto ma sostanzialmente non cambia nulla, mi dà la stessa cosa e prima mi compare l'output del nuovo printf che dice che è una nullpointerexception:


10-29 22:45:37.328: INFO/System.out(347): Eccezione -> java.lang.NullPointerException
10-29 22:45:37.328: DEBUG/AndroidRuntime(347): Shutting down VM
10-29 22:45:37.338: WARN/dalvikvm(347): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
10-29 22:45:37.359: ERROR/AndroidRuntime(347): FATAL EXCEPTION: main
10-29 22:45:37.359: ERROR/AndroidRuntime(347): java.lang.NullPointerException
10-29 22:45:37.359: ERROR/AndroidRuntime(347): at mieapplicazioni.guidageoreferenziata.GuidaSubActivity.getPois(GuidaSubActivity.java:244)
10-29 22:45:37.359: ERROR/AndroidRuntime(347): at mieapplicazioni.guidageoreferenziata.GuidaSubActivity$1.onClick(GuidaSubActivity.java:90)
10-29 22:45:37.359: ERROR/AndroidRuntime(347): at android.view.View.performClick(View.java:2408)
10-29 22:45:37.359: ERROR/AndroidRuntime(347): at android.view.View$PerformClick.run(View.java:8816)
10-29 22:45:37.359: ERROR/AndroidRuntime(347): at android.os.Handler.handleCallback(Handler.java:587)
10-29 22:45:37.359: ERROR/AndroidRuntime(347): at android.os.Handler.dispatchMessage(Handler.java:92)
10-29 22:45:37.359: ERROR/AndroidRuntime(347): at android.os.Looper.loop(Looper.java:123)
10-29 22:45:37.359: ERROR/AndroidRuntime(347): at android.app.ActivityThread.main(ActivityThread.java:4627)
10-29 22:45:37.359: ERROR/AndroidRuntime(347): at java.lang.reflect.Method.invokeNative(Native Method)
10-29 22:45:37.359: ERROR/AndroidRuntime(347): at java.lang.reflect.Method.invoke(Method.java:521)
10-29 22:45:37.359: ERROR/AndroidRuntime(347): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
10-29 22:45:37.359: ERROR/AndroidRuntime(347): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
10-29 22:45:37.359: ERROR/AndroidRuntime(347): at dalvik.system.NativeStart.main(Native Method)


Mi viene da pensare sempre di più che è il parser che ha problemi a parserizzare il mio XML ma non capisco proprio perchè...se vi passassi la struttura del codice XML che contiene la lista di POI restituito dal WS non è che magari sapresti dirmi se c'è qualche errore macroscopico nel mio parser?

Grazie

Gimli[2BV!2B]
30-10-2010, 02:05
Ok, quindi avevi l'output dell'errore; NullPointerException, sì, direi che il parser si perde subito dopo aver incontrato xsi:type nel secondo getRangePoiReturn.

Però non trovo nulla di palesemente fuori posto.
Il codice non l'ho eseguito, ma seguendo questo tutorial direi che dovrebbe produrre qualche output (http://tutorials.jenkov.com/java-xml/sax-defaulthandler.html)...

Stando all'errore mi sembra di capire che cicle viene incrementato una sola volta, è così?

Entra negli if di qName.equals("item"), key e value?

Non conoscendo la logica di fondo di questo DefaultHandler, il mio unico dubbio è che le variabili p, cicle e currentElement vengano "rovinate"/"desincronizzate" tra le invocazioni automatiche delle varie funzioni.

e-commerce84
31-10-2010, 21:24
;33505632']Ok, quindi avevi l'output dell'errore; NullPointerException, sì, direi che il parser si perde subito dopo aver incontrato xsi:type nel secondo getRangePoiReturn.

Però non trovo nulla di palesemente fuori posto.
Il codice non l'ho eseguito, ma seguendo questo tutorial direi che dovrebbe produrre qualche output (http://tutorials.jenkov.com/java-xml/sax-defaulthandler.html)...

Stando all'errore mi sembra di capire che cicle viene incrementato una sola volta, è così?

Entra negli if di qName.equals("item"), key e value?

Non conoscendo la logica di fondo di questo DefaultHandler, il mio unico dubbio è che le variabili p, cicle e currentElement vengano "rovinate"/"desincronizzate" tra le invocazioni automatiche delle varie funzioni.

Ciao,
scusa se sono sparito ma in questi 2 giorni ho dovuto lavorare :-/

Intanto grazie dell'ottimo tutorial, purtroppo quel parser non l'ho scritto io (progetto di gruppo) ma mi ci trovo a dover mettere le mani io per risolvere questo casino :muro: :muro: :muro:

Il tutorial è stato molto chiaro e mi sono chiarito un bel po di dubbi.

Ora la situazione è questa:

1) Nella classe GuidaSubActivity (la classe che effettua la chiamata al web service) nel try{} del metodo getPois() (il metodo che si occupa di effettuare la connessione al WS, di fare la richiesta SOAP e di parsare l'XML) ho messo il seguente codice:


try{
// Creazione del SAX Parser:
SAXParserFactory factory = SAXParserFactory.newInstance();
SAXParser parser = factory.newSAXParser();
Log.d("Crea il parser che punta all'oggetto con indirizzo: ", parser.toString());

// System.out.println(buffer.toString()); // Che è sta robba ?!?! booo pussa viaaa !!!

// Mette in sr il valore contenuto nel buffer sotto forma di stringa
StringReader sr = new StringReader(buffer.toString());
Log.d("E' stato creato uno StringReader sr e passagli il contenuto del buffer in forma di stringa", sr.toString());

// Crea un nuovo oggetto di tipo InputSource e ci mette dentro il valore contenuto in sr
InputSource is = new InputSource(sr);
Log.d("E' stato creato un oggetto InputSource is a cui viene passato il riferimento all'oggetto sr ", is.toString());

PoiSaxHandler handler = new PoiSaxHandler();
Log.d("E' stato creato l'oggetto handler di tipo PoiSaxHandler", handler.toString());

// ATTENZIONEEE NON EFFETTUA IL PARSING !!!
parser.parse(is,handler);
Log.d("Passo al parser l'oggetto is che è:", is.toString());
Log.d("Passo al pareser l'oggetto handler che è: ", handler.toString());

// pois = handler.getPois(); // NB: Variabile dichiarata all'inizio del metodo
bunga = handler.getBunga();
Log.d("La variabile bunga contiene", bunga.toString());
// Log.d("Invoco il metodo getPois sull'oggetto handler", "suka");

// System.out.println("HttpClient.main pois "+pois.toString());

}catch(Exception e){ // Ho inserto questo controllo per vedere che fà
System.out.print( "Eccezione -> " + e.toString() );
String sMessage = e.getMessage();
if(sMessage != null){
System.out.print( ": " + sMessage );
}
System.out.println();
}
// Log.d("MioProgramma", pois.toString());
return pois;
}


Vabbè il pois che ritorna è sempre null perchè facendo l'esempio del tutorial che mi hai passato l'handler del parser non crea alcuna lista di punti di interesse ma per ora questa cosa è ovvia e normale.

Per quanto riguarda la classe dell'handler invece ho seguito il tuturial che mi hai passato ed è diventata la seguente:


package mieapplicazioni.Http;

import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;

import android.util.Log;

import java.util.ArrayList;
import java.util.List;

public final class PoiSaxHandler extends DefaultHandler {

private String bunga = "Bunga Bunga";

// Viene invocato quando parte il parsing del documento XML
public void startDocument() throws SAXException {
System.out.println("E' iniziato il parsing del documento XML");
}

// Viene invocato quando termina il parsing del documento XML
public void endDocument() throws SAXException {
System.out.println("Documento XML terminato");
}

// Viene invocato quando sia pre un elemento XML (un tag XML): Stampa il nome del tag che è stato aperto
public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
System.out.println("E' stato aperto il tag: " + qName);
}

// Viene invocato quando si chiude un elemento XML (un tag): Stampa il nome del tag che è stato chiuso
public void endElement(String uri, String localName, String qName) throws SAXException {
System.out.println("E' stato chiuso il tag: " + qName);
}

// Viene invocato quando dentro un tag XML trova qualcosa: Stampa come stringa il contenuto di un tax XML non vuoto
public void characters(char ch[], int start, int length) throws SAXException {
System.out.println("Ho trovato il seguente contenuto: " + new String(ch, start, length));
}

public String getBunga(){
return bunga;
}

}


Vabbè la variabile bunga ed il metodo getBunga (tanto per rimanere in tema di attualità politica hehe) li ho messi solo per vedere se l'handler mi riusciva a restituire un qualcosa al chiamante (e funziona, quindi quando dovrà restituire la lista di POI non dovrebbero esserci problemi)

Per quanto riguarda l'output dell'handler mi pare proprio che sia corretto !!! Come sul tutorial l'handler restituisce la lista dei tag XML che si aprono e che si chiudono ed eventualmente il relativo contenuto.

Eccoti quà l'output, se riesci a dargli una guardata e dirmi se ti sembra corretto te ne sarei molto grato, a me sembra di si comunque.

Vabbè l'output è molto lungo perchè contiene le informazioni rappresentanti vari punti di interesse ed ogni punto di interesse è composto da vari campi informativi


10-31 19:48:12.142: INFO/System.out(358): E' iniziato il parsing del documento XML
10-31 19:48:12.152: INFO/System.out(358): E' stato aperto il tag: soapenv:Envelope
10-31 19:48:12.152: INFO/System.out(358): E' stato aperto il tag: soapenv:Body
10-31 19:48:12.162: INFO/System.out(358): E' stato aperto il tag: getRangePoiResponse
10-31 19:48:12.162: INFO/System.out(358): E' stato aperto il tag: getRangePoiReturn
10-31 19:48:12.173: INFO/System.out(358): E' stato aperto il tag: getRangePoiReturn
10-31 19:48:12.173: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:12.183: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:12.193: INFO/System.out(358): Ho trovato il seguente contenuto: WikiLink
10-31 19:48:12.193: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:12.193: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:12.203: INFO/System.out(358): Ho trovato il seguente contenuto: link 2
10-31 19:48:12.203: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:12.213: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:12.213: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:12.213: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:12.223: INFO/System.out(358): Ho trovato il seguente contenuto: Alt
10-31 19:48:12.223: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:12.233: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:12.233: INFO/System.out(358): Ho trovato il seguente contenuto: 0.0
10-31 19:48:12.243: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:12.243: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:12.253: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:12.253: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:12.263: INFO/System.out(358): Ho trovato il seguente contenuto: Tipologia
10-31 19:48:12.263: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:12.273: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:12.273: INFO/System.out(358): Ho trovato il seguente contenuto: 0
10-31 19:48:12.273: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:12.283: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:12.293: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:12.293: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:12.303: INFO/System.out(358): Ho trovato il seguente contenuto: Distance
10-31 19:48:12.303: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:12.303: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:12.313: INFO/System.out(358): Ho trovato il seguente contenuto: 0.0
10-31 19:48:12.313: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:12.313: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:12.323: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:12.323: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:12.323: INFO/System.out(358): Ho trovato il seguente contenuto: Lat
10-31 19:48:12.333: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:12.333: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:12.333: INFO/System.out(358): Ho trovato il seguente contenuto: 0.0
10-31 19:48:12.333: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:12.343: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:12.343: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:12.343: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:12.353: INFO/System.out(358): Ho trovato il seguente contenuto: Id
10-31 19:48:12.353: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:12.353: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:12.363: INFO/System.out(358): Ho trovato il seguente contenuto: 3
10-31 19:48:12.363: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:12.363: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:12.373: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:12.373: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:12.373: INFO/System.out(358): Ho trovato il seguente contenuto: Lon
10-31 19:48:12.393: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:12.393: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:12.403: INFO/System.out(358): Ho trovato il seguente contenuto: 0.0
10-31 19:48:12.403: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:12.403: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:12.403: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:12.403: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:12.403: INFO/System.out(358): Ho trovato il seguente contenuto: Nome
10-31 19:48:12.413: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:12.413: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:12.423: INFO/System.out(358): Ho trovato il seguente contenuto: test 2
10-31 19:48:12.423: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:12.423: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:12.433: INFO/System.out(358): E' stato chiuso il tag: getRangePoiReturn
10-31 19:48:12.433: INFO/System.out(358): E' stato aperto il tag: getRangePoiReturn
10-31 19:48:12.433: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:12.433: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:12.443: INFO/System.out(358): Ho trovato il seguente contenuto: WikiLink
10-31 19:48:12.443: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:12.453: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:12.453: INFO/System.out(358): Ho trovato il seguente contenuto: lll
10-31 19:48:12.463: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:12.463: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:12.473: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:12.473: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:12.473: INFO/System.out(358): Ho trovato il seguente contenuto: Alt
10-31 19:48:12.473: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:12.473: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:12.473: INFO/System.out(358): Ho trovato il seguente contenuto: 0.0
10-31 19:48:12.473: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:12.473: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:12.473: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:12.473: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:12.473: INFO/System.out(358): Ho trovato il seguente contenuto: Tipologia
10-31 19:48:12.473: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:12.473: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:12.473: INFO/System.out(358): Ho trovato il seguente contenuto: 0
10-31 19:48:12.483: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:12.483: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:12.483: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:12.493: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:12.493: INFO/System.out(358): Ho trovato il seguente contenuto: Distance
10-31 19:48:12.493: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:12.493: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:12.493: INFO/System.out(358): Ho trovato il seguente contenuto: 0.0
10-31 19:48:12.493: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:12.493: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:12.493: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:12.493: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:12.493: INFO/System.out(358): Ho trovato il seguente contenuto: Lat
10-31 19:48:12.493: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:12.493: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:12.493: INFO/System.out(358): Ho trovato il seguente contenuto: 0.0
10-31 19:48:12.493: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:12.493: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:12.493: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:12.493: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:12.493: INFO/System.out(358): Ho trovato il seguente contenuto: Id
10-31 19:48:12.493: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:12.493: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:12.493: INFO/System.out(358): Ho trovato il seguente contenuto: 13
10-31 19:48:12.493: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:12.493: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:12.493: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:12.493: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:12.493: INFO/System.out(358): Ho trovato il seguente contenuto: Lon
10-31 19:48:12.493: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:12.493: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:12.493: INFO/System.out(358): Ho trovato il seguente contenuto: 0.0
10-31 19:48:12.493: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:12.543: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:12.543: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:12.543: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:12.543: INFO/System.out(358): Ho trovato il seguente contenuto: Nome
10-31 19:48:12.543: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:12.543: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:12.543: INFO/System.out(358): Ho trovato il seguente contenuto: aaab
10-31 19:48:12.543: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:12.543: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:12.553: INFO/System.out(358): E' stato chiuso il tag: getRangePoiReturn
10-31 19:48:12.553: INFO/System.out(358): E' stato aperto il tag: getRangePoiReturn
10-31 19:48:12.553: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:12.553: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:12.553: INFO/System.out(358): Ho trovato il seguente contenuto: WikiLink
10-31 19:48:12.553: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:12.553: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:12.553: INFO/System.out(358): Ho trovato il seguente contenuto: lll
10-31 19:48:12.553: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:12.553: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:12.553: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:12.553: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:12.553: INFO/System.out(358): Ho trovato il seguente contenuto: Alt
10-31 19:48:12.553: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:12.553: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:12.553: INFO/System.out(358): Ho trovato il seguente contenuto: 0.0
10-31 19:48:12.553: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:12.553: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:12.553: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:12.553: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:12.553: INFO/System.out(358): Ho trovato il seguente contenuto: Tipologia
10-31 19:48:12.553: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:12.553: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:12.553: INFO/System.out(358): Ho trovato il seguente contenuto: 0
10-31 19:48:12.553: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:12.553: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:12.553: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:12.593: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:12.593: INFO/System.out(358): Ho trovato il seguente contenuto: Distance
10-31 19:48:12.593: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:12.593: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:12.593: INFO/System.out(358): Ho trovato il seguente contenuto: 0.0
10-31 19:48:12.593: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:12.593: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:12.593: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:12.603: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:12.723: INFO/System.out(358): Ho trovato il seguente contenuto: Lat
10-31 19:48:12.723: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:12.723: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:12.723: INFO/System.out(358): Ho trovato il seguente contenuto: 0.0
10-31 19:48:12.723: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:12.723: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:12.723: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:12.723: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:12.723: INFO/System.out(358): Ho trovato il seguente contenuto: Id
10-31 19:48:12.723: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:12.723: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:12.723: INFO/System.out(358): Ho trovato il seguente contenuto: 12
10-31 19:48:12.723: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:12.723: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:12.723: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:12.723: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:12.723: INFO/System.out(358): Ho trovato il seguente contenuto: Lon
10-31 19:48:12.723: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:12.723: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:12.723: INFO/System.out(358): Ho trovato il seguente contenuto: 0.0
10-31 19:48:12.723: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:12.723: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:12.743: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:12.743: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:12.743: INFO/System.out(358): Ho trovato il seguente contenuto: Nome
10-31 19:48:12.743: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:12.743: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:12.743: INFO/System.out(358): Ho trovato il seguente contenuto: jiji
10-31 19:48:12.743: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:12.743: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:12.743: INFO/System.out(358): E' stato chiuso il tag: getRangePoiReturn
10-31 19:48:12.743: INFO/System.out(358): E' stato aperto il tag: getRangePoiReturn
10-31 19:48:12.743: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:12.743: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:12.743: INFO/System.out(358): Ho trovato il seguente contenuto: WikiLink
10-31 19:48:12.743: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:12.743: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:12.743: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:12.763: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:12.763: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:12.763: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:12.763: INFO/System.out(358): Ho trovato il seguente contenuto: Alt
10-31 19:48:12.763: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:12.763: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:12.773: INFO/System.out(358): Ho trovato il seguente contenuto: 0.0
10-31 19:48:12.773: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:12.773: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:12.773: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:12.773: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:12.773: INFO/System.out(358): Ho trovato il seguente contenuto: Tipologia
10-31 19:48:12.773: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:12.773: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:12.773: INFO/System.out(358): Ho trovato il seguente contenuto: 0
10-31 19:48:12.773: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:12.773: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:12.773: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:12.773: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:12.773: INFO/System.out(358): Ho trovato il seguente contenuto: Distance
10-31 19:48:12.773: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:12.773: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:12.773: INFO/System.out(358): Ho trovato il seguente contenuto: 0.0
10-31 19:48:12.773: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:12.773: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:12.773: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:12.773: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:12.773: INFO/System.out(358): Ho trovato il seguente contenuto: Lat
10-31 19:48:12.773: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:12.773: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:12.773: INFO/System.out(358): Ho trovato il seguente contenuto: 0.0
10-31 19:48:12.773: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:12.773: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:12.833: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:12.833: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:12.833: INFO/System.out(358): Ho trovato il seguente contenuto: Id
10-31 19:48:12.833: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:12.833: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:12.833: INFO/System.out(358): Ho trovato il seguente contenuto: 11
10-31 19:48:12.833: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:12.833: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:12.833: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:12.833: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:12.833: INFO/System.out(358): Ho trovato il seguente contenuto: Lon
10-31 19:48:12.833: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:12.833: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:12.833: INFO/System.out(358): Ho trovato il seguente contenuto: 0.0
10-31 19:48:12.833: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:12.833: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:12.863: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:12.863: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:12.863: INFO/System.out(358): Ho trovato il seguente contenuto: Nome
10-31 19:48:12.863: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:12.863: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:12.863: INFO/System.out(358): Ho trovato il seguente contenuto: POITest222
10-31 19:48:12.863: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:12.863: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:12.863: INFO/System.out(358): E' stato chiuso il tag: getRangePoiReturn
10-31 19:48:12.863: INFO/System.out(358): E' stato aperto il tag: getRangePoiReturn
10-31 19:48:12.863: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:12.863: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:12.863: INFO/System.out(358): Ho trovato il seguente contenuto: WikiLink
10-31 19:48:12.863: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:12.873: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:12.873: INFO/System.out(358): Ho trovato il seguente contenuto: 222
10-31 19:48:12.873: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:12.873: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:12.893: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:12.893: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:12.893: INFO/System.out(358): Ho trovato il seguente contenuto: Alt
10-31 19:48:12.893: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:12.893: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:12.893: INFO/System.out(358): Ho trovato il seguente contenuto: 0.0
10-31 19:48:12.893: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:12.893: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:12.893: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:12.893: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:12.893: INFO/System.out(358): Ho trovato il seguente contenuto: Tipologia
10-31 19:48:12.893: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:12.893: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:12.893: INFO/System.out(358): Ho trovato il seguente contenuto: 0
10-31 19:48:12.893: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:12.893: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:12.943: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:12.943: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:12.943: INFO/System.out(358): Ho trovato il seguente contenuto: Distance
10-31 19:48:12.943: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:12.943: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:12.943: INFO/System.out(358): Ho trovato il seguente contenuto: 0.0
10-31 19:48:12.943: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:12.943: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:12.943: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:12.943: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:12.943: INFO/System.out(358): Ho trovato il seguente contenuto: Lat
10-31 19:48:12.953: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:12.953: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:12.953: INFO/System.out(358): Ho trovato il seguente contenuto: 0.0
10-31 19:48:12.953: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:12.953: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:12.953: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:12.953: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:12.953: INFO/System.out(358): Ho trovato il seguente contenuto: Id
10-31 19:48:12.953: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:12.953: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:12.953: INFO/System.out(358): Ho trovato il seguente contenuto: 10
10-31 19:48:12.953: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:12.953: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:12.953: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:12.953: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:12.953: INFO/System.out(358): Ho trovato il seguente contenuto: Lon
10-31 19:48:12.953: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:12.953: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:12.953: INFO/System.out(358): Ho trovato il seguente contenuto: 0.0
10-31 19:48:12.953: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:12.953: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:12.953: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:12.953: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:12.953: INFO/System.out(358): Ho trovato il seguente contenuto: Nome
10-31 19:48:12.953: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:12.953: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:12.953: INFO/System.out(358): Ho trovato il seguente contenuto: POITest222
10-31 19:48:12.953: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:12.953: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:12.953: INFO/System.out(358): E' stato chiuso il tag: getRangePoiReturn
10-31 19:48:13.003: INFO/System.out(358): E' stato aperto il tag: getRangePoiReturn
10-31 19:48:13.013: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:13.013: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:13.013: INFO/System.out(358): Ho trovato il seguente contenuto: WikiLink
10-31 19:48:13.013: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:13.013: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:13.013: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:13.013: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:13.013: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:13.013: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:13.013: INFO/System.out(358): Ho trovato il seguente contenuto: Alt
10-31 19:48:13.013: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:13.013: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:13.013: INFO/System.out(358): Ho trovato il seguente contenuto: 0.0
10-31 19:48:13.013: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:13.013: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:13.013: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:13.013: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:13.013: INFO/System.out(358): Ho trovato il seguente contenuto: Tipologia
10-31 19:48:13.013: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:13.013: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:13.013: INFO/System.out(358): Ho trovato il seguente contenuto: 0
10-31 19:48:13.013: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:13.013: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:13.013: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:13.013: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:13.043: INFO/System.out(358): Ho trovato il seguente contenuto: Distance
10-31 19:48:13.043: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:13.043: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:13.043: INFO/System.out(358): Ho trovato il seguente contenuto: 0.0
10-31 19:48:13.043: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:13.043: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:13.043: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:13.043: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:13.043: INFO/System.out(358): Ho trovato il seguente contenuto: Lat
10-31 19:48:13.043: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:13.043: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:13.043: INFO/System.out(358): Ho trovato il seguente contenuto: 0.0
10-31 19:48:13.043: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:13.043: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:13.043: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:13.064: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:13.064: INFO/System.out(358): Ho trovato il seguente contenuto: Id
10-31 19:48:13.064: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:13.064: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:13.064: INFO/System.out(358): Ho trovato il seguente contenuto: 9
10-31 19:48:13.064: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:13.064: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:13.064: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:13.064: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:13.064: INFO/System.out(358): Ho trovato il seguente contenuto: Lon
10-31 19:48:13.064: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:13.064: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:13.064: INFO/System.out(358): Ho trovato il seguente contenuto: 0.0
10-31 19:48:13.064: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:13.064: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:13.064: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:13.064: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:13.064: INFO/System.out(358): Ho trovato il seguente contenuto: Nome
10-31 19:48:13.064: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:13.064: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:13.064: INFO/System.out(358): Ho trovato il seguente contenuto: dfdf
10-31 19:48:13.064: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:13.103: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:13.103: INFO/System.out(358): E' stato chiuso il tag: getRangePoiReturn
10-31 19:48:13.113: INFO/System.out(358): E' stato aperto il tag: getRangePoiReturn
10-31 19:48:13.113: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:13.113: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:13.113: INFO/System.out(358): Ho trovato il seguente contenuto: WikiLink
10-31 19:48:13.113: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:13.113: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:13.113: INFO/System.out(358): Ho trovato il seguente contenuto: fdfda
10-31 19:48:13.113: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:13.113: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:13.113: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:13.113: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:13.113: INFO/System.out(358): Ho trovato il seguente contenuto: Alt
10-31 19:48:13.113: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:13.113: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:13.113: INFO/System.out(358): Ho trovato il seguente contenuto: 0.0
10-31 19:48:13.113: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:13.113: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:13.113: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:13.113: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:13.113: INFO/System.out(358): Ho trovato il seguente contenuto: Tipologia
10-31 19:48:13.113: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:13.123: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:13.174: INFO/System.out(358): Ho trovato il seguente contenuto: 0
10-31 19:48:13.174: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:13.174: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:13.174: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:13.174: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:13.174: INFO/System.out(358): Ho trovato il seguente contenuto: Distance
10-31 19:48:13.174: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:13.174: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:13.174: INFO/System.out(358): Ho trovato il seguente contenuto: 0.0
10-31 19:48:13.174: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:13.174: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:13.174: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:13.183: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:13.183: INFO/System.out(358): Ho trovato il seguente contenuto: Lat
10-31 19:48:13.183: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:13.183: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:13.183: INFO/System.out(358): Ho trovato il seguente contenuto: 0.0
10-31 19:48:13.183: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:13.183: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:13.183: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:13.183: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:13.183: INFO/System.out(358): Ho trovato il seguente contenuto: Id
10-31 19:48:13.183: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:13.183: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:13.183: INFO/System.out(358): Ho trovato il seguente contenuto: 8
10-31 19:48:13.183: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:13.183: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:13.183: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:13.183: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:13.183: INFO/System.out(358): Ho trovato il seguente contenuto: Lon
10-31 19:48:13.183: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:13.183: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:13.183: INFO/System.out(358): Ho trovato il seguente contenuto: 0.0
10-31 19:48:13.183: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:13.183: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:13.183: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:13.183: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:13.183: INFO/System.out(358): Ho trovato il seguente contenuto: Nome
10-31 19:48:13.183: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:13.183: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:13.183: INFO/System.out(358): Ho trovato il seguente contenuto: dfd
10-31 19:48:13.183: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:13.183: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:13.183: INFO/System.out(358): E' stato chiuso il tag: getRangePoiReturn
10-31 19:48:13.213: INFO/System.out(358): E' stato aperto il tag: getRangePoiReturn
10-31 19:48:13.213: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:13.213: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:13.213: INFO/System.out(358): Ho trovato il seguente contenuto: WikiLink
10-31 19:48:13.213: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:13.213: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:13.213: INFO/System.out(358): Ho trovato il seguente contenuto: dsfdsfsd
10-31 19:48:13.213: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:13.213: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:13.213: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:13.213: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:13.213: INFO/System.out(358): Ho trovato il seguente contenuto: Alt
10-31 19:48:13.213: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:13.213: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:13.213: INFO/System.out(358): Ho trovato il seguente contenuto: 0.0
10-31 19:48:13.213: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:13.213: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:13.213: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:13.213: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:13.213: INFO/System.out(358): Ho trovato il seguente contenuto: Tipologia
10-31 19:48:13.213: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:13.213: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:13.213: INFO/System.out(358): Ho trovato il seguente contenuto: 0
10-31 19:48:13.213: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:13.213: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:13.213: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:13.213: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:13.253: INFO/System.out(358): Ho trovato il seguente contenuto: Distance
10-31 19:48:13.253: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:13.253: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:13.253: INFO/System.out(358): Ho trovato il seguente contenuto: 0.0
10-31 19:48:13.253: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:13.253: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:13.253: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:13.253: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:13.253: INFO/System.out(358): Ho trovato il seguente contenuto: Lat
10-31 19:48:13.253: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:13.253: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:13.253: INFO/System.out(358): Ho trovato il seguente contenuto: 0.0
10-31 19:48:13.253: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:13.253: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:13.253: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:13.253: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:13.253: INFO/System.out(358): Ho trovato il seguente contenuto: Id
10-31 19:48:13.293: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:13.293: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:13.293: INFO/System.out(358): Ho trovato il seguente contenuto: 7
10-31 19:48:13.293: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:13.293: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:13.293: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:13.293: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:13.293: INFO/System.out(358): Ho trovato il seguente contenuto: Lon
10-31 19:48:13.293: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:13.293: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:13.293: INFO/System.out(358): Ho trovato il seguente contenuto: 0.0
10-31 19:48:13.293: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:13.293: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:13.293: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:13.293: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:13.313: INFO/System.out(358): Ho trovato il seguente contenuto: Nome
10-31 19:48:13.313: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:13.313: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:13.313: INFO/System.out(358): Ho trovato il seguente contenuto: TEST NAME
10-31 19:48:13.313: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:13.313: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:13.313: INFO/System.out(358): E' stato chiuso il tag: getRangePoiReturn
10-31 19:48:13.313: INFO/System.out(358): E' stato aperto il tag: getRangePoiReturn
10-31 19:48:13.313: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:13.313: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:13.313: INFO/System.out(358): Ho trovato il seguente contenuto: WikiLink
10-31 19:48:13.313: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:13.313: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:13.313: INFO/System.out(358): Ho trovato il seguente contenuto: bububb
10-31 19:48:13.313: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:13.313: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:13.323: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:13.323: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:13.323: INFO/System.out(358): Ho trovato il seguente contenuto: Alt
10-31 19:48:13.323: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:13.323: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:13.323: INFO/System.out(358): Ho trovato il seguente contenuto: 0.0
10-31 19:48:13.323: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:13.323: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:13.323: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:13.323: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:13.323: INFO/System.out(358): Ho trovato il seguente contenuto: Tipologia
10-31 19:48:13.323: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:13.323: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:13.323: INFO/System.out(358): Ho trovato il seguente contenuto: 0
10-31 19:48:13.323: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:13.323: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:13.323: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:13.323: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:13.323: INFO/System.out(358): Ho trovato il seguente contenuto: Distance
10-31 19:48:13.323: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:13.323: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:13.323: INFO/System.out(358): Ho trovato il seguente contenuto: 0.0
10-31 19:48:13.323: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:13.323: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:13.373: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:13.373: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:13.373: INFO/System.out(358): Ho trovato il seguente contenuto: Lat
10-31 19:48:13.373: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:13.373: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:13.373: INFO/System.out(358): Ho trovato il seguente contenuto: 0.0
10-31 19:48:13.373: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:13.373: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:13.373: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:13.373: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:13.373: INFO/System.out(358): Ho trovato il seguente contenuto: Id
10-31 19:48:13.373: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:13.373: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:13.373: INFO/System.out(358): Ho trovato il seguente contenuto: 4
10-31 19:48:13.373: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:13.373: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:13.373: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:13.413: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:13.413: INFO/System.out(358): Ho trovato il seguente contenuto: Lon
10-31 19:48:13.413: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:13.413: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:13.413: INFO/System.out(358): Ho trovato il seguente contenuto: 0.0
10-31 19:48:13.413: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:13.413: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:13.413: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:13.413: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:13.413: INFO/System.out(358): Ho trovato il seguente contenuto: Nome
10-31 19:48:13.413: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:13.413: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:13.413: INFO/System.out(358): Ho trovato il seguente contenuto: bubu
10-31 19:48:13.413: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:13.413: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:13.413: INFO/System.out(358): E' stato chiuso il tag: getRangePoiReturn
10-31 19:48:13.413: INFO/System.out(358): E' stato aperto il tag: getRangePoiReturn
10-31 19:48:13.413: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:13.423: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:13.423: INFO/System.out(358): Ho trovato il seguente contenuto: WikiLink
10-31 19:48:13.423: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:13.423: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:13.423: INFO/System.out(358): Ho trovato il seguente contenuto: fdfd
10-31 19:48:13.423: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:13.423: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:13.423: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:13.423: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:13.423: INFO/System.out(358): Ho trovato il seguente contenuto: Alt
10-31 19:48:13.423: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:13.423: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:13.423: INFO/System.out(358): Ho trovato il seguente contenuto: 0.0
10-31 19:48:13.423: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:13.423: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:13.423: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:13.423: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:13.423: INFO/System.out(358): Ho trovato il seguente contenuto: Tipologia
10-31 19:48:13.423: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:13.423: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:13.423: INFO/System.out(358): Ho trovato il seguente contenuto: 0
10-31 19:48:13.423: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:13.423: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:13.423: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:13.423: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:13.473: INFO/System.out(358): Ho trovato il seguente contenuto: Distance
10-31 19:48:13.473: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:13.473: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:13.473: INFO/System.out(358): Ho trovato il seguente contenuto: 0.0
10-31 19:48:13.473: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:13.473: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:13.473: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:13.473: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:13.503: INFO/System.out(358): Ho trovato il seguente contenuto: Lat
10-31 19:48:13.503: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:13.503: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:13.503: INFO/System.out(358): Ho trovato il seguente contenuto: 0.0
10-31 19:48:13.503: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:13.503: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:13.503: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:13.503: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:13.503: INFO/System.out(358): Ho trovato il seguente contenuto: Id
10-31 19:48:13.503: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:13.503: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:13.503: INFO/System.out(358): Ho trovato il seguente contenuto: 15
10-31 19:48:13.513: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:13.513: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:13.513: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:13.513: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:13.513: INFO/System.out(358): Ho trovato il seguente contenuto: Lon
10-31 19:48:13.513: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:13.513: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:13.513: INFO/System.out(358): Ho trovato il seguente contenuto: 0.0
10-31 19:48:13.513: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:13.513: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:13.513: INFO/System.out(358): E' stato aperto il tag: item
10-31 19:48:13.513: INFO/System.out(358): E' stato aperto il tag: key
10-31 19:48:13.513: INFO/System.out(358): Ho trovato il seguente contenuto: Nome
10-31 19:48:13.513: INFO/System.out(358): E' stato chiuso il tag: key
10-31 19:48:13.513: INFO/System.out(358): E' stato aperto il tag: value
10-31 19:48:13.513: INFO/System.out(358): Ho trovato il seguente contenuto: fdf
10-31 19:48:13.513: INFO/System.out(358): E' stato chiuso il tag: value
10-31 19:48:13.513: INFO/System.out(358): E' stato chiuso il tag: item
10-31 19:48:13.513: INFO/System.out(358): E' stato chiuso il tag: getRangePoiReturn
10-31 19:48:13.513: INFO/System.out(358): E' stato chiuso il tag: getRangePoiReturn
10-31 19:48:13.513: INFO/System.out(358): E' stato chiuso il tag: getRangePoiResponse
10-31 19:48:13.513: INFO/System.out(358): E' stato chiuso il tag: soapenv:Body
10-31 19:48:13.513: INFO/System.out(358): E' stato chiuso il tag: soapenv:Envelope
10-31 19:48:13.513: INFO/System.out(358): Documento XML terminato
10-31 19:48:13.513: DEBUG/Passo al parser l'oggetto is che è:(358): org.xml.sax.InputSource@43f12940
10-31 19:48:13.993: DEBUG/dalvikvm(358): GC_FOR_MALLOC freed 4807 objects / 402288 bytes in 469ms
10-31 19:48:13.993: DEBUG/Passo al pareser l'oggetto handler che è:(358): mieapplicazioni.Http.PoiSaxHandler@43f359f8
10-31 19:48:13.993: DEBUG/La variabile bunga contiene(358): Bunga Bunga
10-31 19:48:14.823: INFO/MapActivity(358): Handling network change notification:CONNECTED


Sostanzialmente da quello che vedo: per prima cosa apre il tag envelop che credo sia un contenitore generale creato dalla richiesta SOAP (e che chiuderà alla fine), idem per il tag body e per il tag getRangePoiResponse.

Poi accade una cosa un po' strana (che credo dipenda da come è stato progettato il WS...non da me), apre un tag generale <getRangePoiReturn> ed in seguito apre un altro tag chiamato sempre <getRangePoiReturn> che però identifica ogni elemento POI ritornato dal WS. Ad esempio subito dopo si apre il tag:
<getRangePoiReturn xsi:type="ns1:Map" xmlns:ns1="http://xml.apache.org/xml-soap">
che al suo interno contiene tutti i tag che caratterizzano il primo punto di interesse.

Successivamente si aprirà il tag:
<getRangePoiReturn xsi:type="ns2:Map" xmlns:ns1="http://xml.apache.org/xml-soap"> che invece conterrà le informazioni relative al secondo punto di interesse.

Francamente non sò se sia stata una furbata il fatto che ci sia un tag generale chiamato <getRangePoiReturn> e che al suo interno ci siano altri tag con lo stesso nome che però identificano i punti di interesse...però questo ho e questo devo usare...

Ti faccio vedere brevemente un pezzo di tale file XML facendo la richiesta con soapUI (di fatto è lo stesso file che viene gestito dall'handler):


<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<getRangePoiResponse xmlns="http://example">
<getRangePoiReturn>
<getRangePoiReturn xsi:type="ns1:Map" xmlns:ns1="http://xml.apache.org/xml-soap">
<item xmlns="">
<key xsi:type="xsd:string">WikiLink</key>
<value xsi:type="xsd:string">link 2</value>
</item>
<item xmlns="">
<key xsi:type="xsd:string">Alt</key>
<value xsi:type="xsd:float">0.0</value>
</item>
<item xmlns="">
<key xsi:type="xsd:string">Tipologia</key>
<value xsi:type="xsd:int">0</value>
</item>
<item xmlns="">
<key xsi:type="xsd:string">Distance</key>
<value xsi:type="xsd:double">0.0</value>
</item>
<item xmlns="">
<key xsi:type="xsd:string">Lat</key>
<value xsi:type="xsd:float">0.0</value>
</item>
<item xmlns="">
<key xsi:type="xsd:string">Id</key>
<value xsi:type="xsd:int">3</value>
</item>
<item xmlns="">
<key xsi:type="xsd:string">Lon</key>
<value xsi:type="xsd:float">0.0</value>
</item>
<item xmlns="">
<key xsi:type="xsd:string">Nome</key>
<value xsi:type="xsd:string">test 2</value>
</item>
</getRangePoiReturn>
.....
.....
etcetc
.....
.....


Nel pezzo che ti ho mostrato ci sono le informazioni relative solo al primo punto di interesse, poi seguirebbero le altre...non le metto per non dilungarmi troppo.

In pratica credo che il mio parser dovrebbe fare la seguente cosa:

1) Iniziare a parsare il documento ed ignorare l'apertura dei tag: Evelope, Body, getRangePoiRespons ed il primo tag generale <getRangePoiReturn>

2) Quando trova un tag di tipo:
<getRangePoiReturn xsi:type="ns1:Map" xmlns:ns1="http://xml.apache.org/xml-soap"> che di fatto dice che c'è un nuovo punto di interesse deve creare un oggetto di tipo Poi.

3) Andando avanti con il parsing quando trova all'interno un tag di tipo item significa che quella è un campo dell'oggetto Poi creato e che bisogna settare tale valore nell'oggetto di tipo Poi in questione.

Ad esempio, questo codice:

<item xmlns="">
<key xsi:type="xsd:string">WikiLink</key>
<value xsi:type="xsd:string">link 2</value>
</item>


significa che dentro quel POI c'è un campo chiamato WikiLink con valore pari a "Link 2" e che quindi nell'oggetto Poi appena creato dovrò settare la variabile WikiLink con il valore "Link 2"

3) Quando poi si chiude il tag: </getRangePoiReturn> più esterno deve accodare ad una l'ista di Poi l'oggetto Poi creato e a cui sono state settati tutti i campi

Solo che mi pare una cosa allucinante e cervellotica !!! Però temo che con il WS fatto così (e che non posso cambiare) sai l'unica possibilità e credo che la classe handler che avevo pubblicato inizialmente dovrebbe fare proprio quello...

Per favore mi sai aiutare in qualche modo? (già confermae o smentire le mie ipotesi sarebbe una gran cosa)

Grazie

Gimli[2BV!2B]
31-10-2010, 23:48
Confermo tutto quanto hai scritto.
Anche a me sembrava piuttosto strano l'utilizzo di tag dal nome sostanzialmente uguale per due livelli adiacenti, però il secondo livello ha attributi che lo rendono univoco, in particolare il type, quindi è utilizzabile.

Come hai visto quel codice srotola correttamente l'XML, ed il tuo codice originale sembra essere logicamente corretto.

Il modo per capire cosa va storto durante il parse è provare ad attivare i System.out del parser, che sono nei punti chiave.

Ho appena notato una imprecisione: else if(currentElement.equals("key")&&(new String(ch, start, length).equals("Wikilink")))
isWiki=true;dovrebbe essere
else if(currentElement.equals("key")&&(new String(ch, start, length).equals("WikiLink")))
isWiki=true;vedi l'XML: l'attributo WikiLink ha l'elle maiuscola.

e-commerce84
01-11-2010, 11:14
Ciao,
ho provato a fare come mi hai detto andando ad inserire dei System.out nell'handler ed andando a correggere quell'imprecisione di cui parlavi, ho degli output ma il file XML ancora non viene parsato correttamente a quanto pare.

Attualmente il mio file handler corretto e con i System.out che ho inserito (forse ne devo inserire anche altri da altre parti per capire bene? sapresti indicarmi dove eventualmente?) è questo:


package mieapplicazioni.Http;

import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;

import android.util.Log;

import java.util.ArrayList;
import java.util.List;

public final class PoiSaxHandler extends DefaultHandler {


private boolean isId;
private boolean isLat;
private boolean isLon;
private boolean isAlt;
private boolean isTipologia;
private boolean isWiki;
private boolean isPoiId;
private boolean isNome;

private int cicle=0;

// Viene invocato quando inizia il parsing del documento XML:
public void startDocument() throws SAXException {
System.out.println("E' iniziato il parsing del documento XML");
}

private Poi p = null; // Dichiaro il riferimento ad un oggetto Poi che inizialmente punta a null
private List<Poi> pois = new ArrayList<Poi>(); // Crea un'array list di oggetti di tipo Poi

private String currentElement = null; // currentElement è una stringa inizialmente nulla

// notifies about finish of parsing: !?!?! DUBBIO: Così aggiunge un solo oggetto Poi alla lista: l'ultimo
public void endDocument() throws SAXException {
pois.add(p); // Aggiunge l'oggetto Poi p alla lista di Poi
System.out.println("Document processing finished"); // Stampa il messaggio che dice che il parsing è terminato
}

// we enter to element 'qName': Viene invocato quando trova un nuovo elemento, il nome dell'elemento è in qName
public void startElement(String uri, String localName, String qName, Attributes attrs) throws SAXException {

String key=""; // la stringa key è inizialmente vuota

if (qName.equals("soapenv:Envelope")) { // Se è il tag <soapenv:Envelope ....>
currentElement=qName; // Mette "soapenv:Envelope" dentro la variabile currentElement
}
else if (qName.equals("soapenv:Body")) { // Se è il tag <soapenv:Body>
currentElement=qName; // mette "soapenv:Body" dentro la variabile currentElement
//System.out.println("SimpleSaxHandler$SaxHandler.startElement body");
System.out.println("E' stato aperto il tag: " + qName);

}
else if (qName.equals("listPoiReturn")) { // Se è il tag "listPoiReturn" NON C'È NEL MIO XML
currentElement=qName; // Mette dentro current element listPoiReturn
//System.out.println("SimpleSaxHandler$SaxHandler.startElement listPois");
}
else if(qName.equals("getRangePoiResponse")) { // Se è il tag <getRangePoiResponse....>
currentElement=qName; // Mette getRangePoiResponse dentro currentElement
System.out.println("E' stato aperto il tag: " + qName);
}
else if(qName.equals("getRangePoiReturn")) { // Se + il tag <getRangePoiReturn...>
currentElement=qName; // Mette getRangePoiReturn dentro currentElement
System.out.println("E' stato aperto getRangePoiReturn");
System.out.println("PoiSaxHandler.startElement "+attrs.getLocalName(0));
if(attrs.getLocalName(0)!=null&&attrs.getLocalName(0).equals("xsi:type"))
{
//System.out.println("SimpleSaxHandler$SaxHandler.startElement nuovo pois");

if(cicle==0){
p=new Poi();
System.out.println("La variabile cicle vale: " + cicle);
}
else{
System.out.println("La variabile cicle vale: " + cicle);
pois.add(p);
p=new Poi();
}
cicle++;
System.out.println("La variabile cicle vale: " + cicle);
}
}
else if (qName.equals("item")){
currentElement=qName;
System.out.println("E' stato aperto il tag: " + qName); // E' entrato nel tag item
}
else if (qName.equals("key")){
currentElement=qName;
System.out.println("E' stato aperto il tag: " + qName); // E' entrato nel tag key
//System.out.println("SimpleSaxHandler$SaxHandler "+currentElement);

//System.out.println("SimpleSaxHandler$SaxHandler.startElement key "+key);
}
else if (qName.equals("value")){
currentElement=qName;
System.out.println("E' stato aperto il tag: " + qName); // E' entrato nel dag value

//System.out.println("SimpleSaxHandler$SaxHandler.startElement value di "+key+" -->"+attrs.getQName(0));
}

else {
throw new IllegalArgumentException("Element '" +
qName + "' is not allowed here");
}
}




// we leave element 'qName' without any actions:
public void endElement(String uri, String localName, String qName)
throws SAXException {

//System.out.println("SimpleSaxHandler$SaxHandler.endElement "+qName);



}

public void characters(char ch[], int start, int length)
throws SAXException {


if(currentElement.equals("key")&&(new String(ch, start, length).equals("Id")))
isId=true;
else if(currentElement.equals("key")&&(new String(ch, start, length).equals("Lat")))
isLat=true;
else if(currentElement.equals("key")&&(new String(ch, start, length).equals("Lon")))
isLon=true;
else if(currentElement.equals("key")&&(new String(ch, start, length).equals("Alt")))
isAlt=true;
else if(currentElement.equals("key")&&(new String(ch, start, length).equals("Tipologia")))
isTipologia=true;
else if(currentElement.equals("key")&&(new String(ch, start, length).equals("Nome")))
isNome=true;
else if(currentElement.equals("key")&&(new String(ch, start, length).equals("WikiLink"))) // ho cambiato Wikilink con WikiLink
isWiki=true;
else if(currentElement.equals("key")&&(new String(ch, start, length).equals("Distance")))
isPoiId=true;
//System.out.println("currentElement: "+currentElement+" -->"+ new String(ch, start, length));
if (isId&&currentElement.equals("value")) {
p.setId(Long.parseLong(new String(ch, start, length)));
System.out.println("id: "
+ new String(ch, start, length));
isId=false;
}else if (isLat&&currentElement.equals("value")) {
p.setLat(Float.parseFloat(new String(ch, start, length)));
System.out.println("lat: "
+ new String(ch, start, length));
isLat=false;
}else if (isLon&&currentElement.equals("value")) {
p.setLon(Float.parseFloat(new String(ch, start, length)));
System.out.println("lon: "
+ new String(ch, start, length));
isLon=false;
}
else if(currentElement.equals("value")&&(isAlt))
{
p.setAlt(Float.parseFloat(new String(ch, start, length)));
System.out.println("alt: "
+ new String(ch, start, length));
isAlt=false;;
}
else if(currentElement.equals("value")&&(isTipologia))
{
String sTipologia=new String(ch, start, length);
int tipologia=0;
if(sTipologia!=null&&!sTipologia.equals(""))
tipologia=Integer.parseInt(sTipologia);

p.setTipologia(tipologia);
System.out.println("Tipologia: "
+ new String(ch, start, length));
isTipologia=false;

}
else if(currentElement.equals("value")&&(isNome))
{
p.setNome(new String(ch, start, length));
System.out.println("Nome: "
+ new String(ch, start, length));
isNome=false;

}
else if(currentElement.equals("value")&&(isWiki))
{
p.setWikilynk(new String(ch, start, length));
System.out.println("Wiki: "
+ new String(ch, start, length));
isWiki=false;

}
else if(currentElement.equals("value")&&(isPoiId))
{
String sPoiId=new String(ch, start, length);
Long poiId=0L;
//if(sPoiId!=null&&!sPoiId.trim().equals(""))
//poiId=Long.parseLong(sPoiId);
p.setPoiId(sPoiId);
System.out.println("PoiId: "
+ new String(ch, start, length));
isPoiId=false;

}
}

public List<Poi> getPois() {
//Log.d("Sono entranto nel metodo getPois dentro la classe PoiSaxHandler", "1");
// Log.d("getPoisHandler", pois.toString());
return pois;
}
// do nothing;
}


L'output che mi restituisce usando questo handler invece è il seguente:


11-01 09:54:54.793: INFO/System.out(317): E' iniziato il parsing del documento XML
11-01 09:54:54.802: INFO/System.out(317): E' stato aperto il tag: soapenv:Body
11-01 09:54:54.802: INFO/System.out(317): E' stato aperto il tag: getRangePoiResponse
11-01 09:54:54.813: INFO/System.out(317): E' stato aperto getRangePoiReturn
11-01 09:54:54.823: INFO/System.out(317): PoiSaxHandler.startElement null
11-01 09:54:54.823: INFO/System.out(317): E' stato aperto getRangePoiReturn
11-01 09:54:54.832: INFO/System.out(317): PoiSaxHandler.startElement type
11-01 09:54:54.842: INFO/System.out(317): E' stato aperto il tag: item
11-01 09:54:54.842: INFO/System.out(317): E' stato aperto il tag: key
11-01 09:54:54.863: INFO/System.out(317): E' stato aperto il tag: value
11-01 09:54:54.943: INFO/System.out(317): Eccezione -> java.lang.NullPointerException
11-01 09:54:55.523: INFO/MapActivity(317): Handling network change notification:CONNECTED


In pratica pare che entri nel metodo startElement(), srotoli i primi tag di apertura come <soapenv:Body>, <getRangePoiResponse...>, <getRangePoiReturn> (quello più esterno).

Poi pare che entri dentro il tag <getRangePoiReturn xsi:type="ns1:Map...> (quello più interno che rappresenta un punto di interesse).

A questo punto inizia ad entrare nei vari tag item che descrivono un campo del punto di interesse e pare entrare anche nei tag interni da item key e value che a loro volta descrivono il nome del campo ed il valore di tale campo (non sò prchè ma non mi riesce a stampare il valore della variabile cicle...che onestamente non ho chiarissimo a cosa serve)

Poi però sembra bloccarsi? Hai qualche idea del perchè o comunque su come procedere a vedere dov'è che si và ad inchiodare?

Per favore...se riesci ad aiutarmi te ne sarei veramente grato...sono proprio tanto tanto tanto nei casini...

Grazie mille

Gimli[2BV!2B]
01-11-2010, 12:00
Attiva il System.out dopo gli if else all'inizio della funzione characters, altrimenti non si capisce al 100% che succede; non è che le stringhe create per i confronti contengono un carattere in più?

Sembra non entri in nessuno degli if che impostano i booleani che rappresentano il raggiungimento dei vari valori.

Non mi convince molto l'uso esagerato di new String(ch, start, length), sarebbe preferibile creare l'oggetto stringa all'inizio della funzione e poi sfruttarlo in tutti i confronti e dove serve in seguito.

e-commerce84
01-11-2010, 12:24
;33521719']Attiva il System.out dopo gli if else all'inizio della funzione characters, altrimenti non si capisce al 100% che succede; non è che le stringhe create per i confronti contengono un carattere in più?

Sembra non entri in nessuno degli if che impostano i booleani che rappresentano il raggiungimento dei vari valori.

Non mi convince molto l'uso esagerato di new String(ch, start, length), sarebbe preferibile creare l'oggetto stringa all'inizio della funzione e poi sfruttarlo in tutti i confronti e dove serve in seguito.

mmm che intendi dire esattamente? intendi dire che dentro il metodo characters() dovrei fargli stampare il valore del parametro entrante char ch[] dentro ogni if? Intendi questo o ho capito male? Fammi sapere così ti posto l'output

Grazie mille del tuo aiuto comunque

Gimli[2BV!2B]
01-11-2010, 12:38
Intendo questo:
public void characters(char ch[], int start, int length)
throws SAXException {

[...]
else if(currentElement.equals("key")&&(new String(ch, start, length).equals("Distance")))
isPoiId=true;
System.out.println("currentElement: "+currentElement+" -->"+ new String(ch, start, length));
if (isId&&currentElement.equals("value")) {
[...]

e-commerce84
01-11-2010, 16:58
ah ok, quindi dovevo solo attivare quel System.out che era stato commentato...allora...il risultato dato in output ora è il seguente:


11-01 15:52:09.816: INFO/System.out(312): E' iniziato il parsing del documento XML
11-01 15:52:09.836: INFO/System.out(312): E' stato aperto il tag: soapenv:Body
11-01 15:52:09.836: INFO/System.out(312): E' stato aperto il tag: getRangePoiResponse
11-01 15:52:09.846: INFO/System.out(312): E' stato aperto getRangePoiReturn
11-01 15:52:09.846: INFO/System.out(312): PoiSaxHandler.startElement null
11-01 15:52:09.856: INFO/System.out(312): E' stato aperto getRangePoiReturn
11-01 15:52:09.856: INFO/System.out(312): PoiSaxHandler.startElement type
11-01 15:52:09.866: INFO/System.out(312): E' stato aperto il tag: item
11-01 15:52:09.866: INFO/System.out(312): E' stato aperto il tag: key
11-01 15:52:09.876: INFO/System.out(312): currentElement: key -->WikiLink
11-01 15:52:09.886: INFO/System.out(312): E' stato aperto il tag: value
11-01 15:52:09.886: INFO/System.out(312): currentElement: value -->link 2
11-01 15:52:09.906: INFO/System.out(312): Eccezione -> java.lang.NullPointerException
11-01 15:52:10.566: INFO/MapActivity(312): Handling network change notification:CONNECTED


In pratica vedendo il mio XML che viene ritornato dal WebService mi pare di capire che succede questo: inizia ad analizzare il primo punto di interesse, il primo tag <item> descrive appunto il campo WikiLink di un generico oggetto Poi ed al suo interno legge correttamente il tag <key> che contiene appunto il valore riferito al campo WikiLink dell'oggetto Poi in questione ed il tag <value> che contiene il valore informativo da mettere nella variabile dell'oggetto Poi ed infatti c'è il valore "link 2"

Poi si inchioda e non riesco proprio a capire perchè :muro: :muro: :muro:

Te per caso riesci ad avere qualche idea su come sistemare sto coso?

Grazie mille

e-commerce84
01-11-2010, 18:36
Ho cambiato il metodo originale characted() con il seguente ma continua a non andare :muro: :cry:


public void characters(char ch[], int start, int length) throws SAXException{
System.out.println("Sono entrato nel metodo character()");
String sText = new String(ch, start, length).trim();
if(sText == null){
sText = "";
}
if(currentElement == null){
currentElement = "";
}

if(currentElement.equals("key")){
if(sText.equals("Id")){
System.out.println("Id: "+currentElement+" --> "+ sText);
isId = true;
}else if(sText.equals("Lat")){
System.out.println("Lat: "+currentElement+" --> "+ sText);
isLat = true;
}else if(sText.equals("Lon")){
System.out.println("Lon: "+currentElement+" --> "+ sText);
isLon = true;
}else if(sText.equals("Alt")){
System.out.println("Alt: "+currentElement+" --> "+ sText);
isAlt = true;
}else if(sText.equals("Tipologia")){
System.out.println("Tipologia: "+currentElement+" --> "+ sText);
isTipologia = true;
}else if(sText.equals("Nome")){
System.out.println("Nome: "+currentElement+" --> "+ sText);
isNome = true;
}else if(sText.equals("WikiLink")){ // ho cambiato Wikilink con WikiLink
System.out.println("WikiLink: "+currentElement+" --> "+ sText);
isWiki = true;
}else if(sText.equals("Distance")){
System.out.println("Distance: "+currentElement+" --> "+ sText);
isPoiId = true;
}
}else if(currentElement.equals("value")){
if(isId){
isId = false;
long id = 0;

if(sText.length() > 0)
id = Long.parseLong(sText);
p.setId(id);
System.out.println("id: "+id);
}else if(isLat){
isLat = false;
float lat = 0;

if(sText.length() > 0){
lat = Float.parseFloat(sText);
}
p.setLat(lat);
System.out.println("lat: "+lat);
}else if(isLon){
isLon = false;
float lon = 0;

if(sText.length() > 0){
lon = Float.parseFloat(sText);
}
p.setLon(lon);
System.out.println("lon: "+lon);
}else if(isAlt){
isAlt = false;
float alt = 0;

if(sText.length() > 0){
alt = Float.parseFloat(sText);
}
p.setAlt(alt);
System.out.println("alt: "+alt);
}else if(isTipologia){
isTipologia = false;
int tipologia = 0;

if(sText.length() > 0){
tipologia = Integer.parseInt(sText);
}
p.setTipologia(tipologia);
System.out.println("Tipologia: "+tipologia);
}else if(isNome){
isNome = false;

p.setNome(sText);
System.out.println("Nome: "+sText);
}else if(isWiki){
isWiki = false;

p.setWikilynk(sText);
System.out.println("Wiki: "+sText);
}else if(isPoiId){
isPoiId = false;
Long poiId = null;

if(sText.length() > 0){
poiId=Long.parseLong(sText);
}
p.setPoiId(poiId.toString());
System.out.println("PoiId: "+poiId);
}
}
}


Continua a darmi il seguente output:


11-01 17:35:07.321: INFO/System.out(375): E' iniziato il parsing del documento XML
11-01 17:35:07.331: INFO/System.out(375): E' stato aperto il tag: soapenv:Body
11-01 17:35:07.331: INFO/System.out(375): E' stato aperto il tag: getRangePoiResponse
11-01 17:35:07.341: INFO/System.out(375): E' stato aperto getRangePoiReturn
11-01 17:35:07.341: INFO/System.out(375): PoiSaxHandler.startElement null
11-01 17:35:07.351: INFO/System.out(375): E' stato aperto getRangePoiReturn
11-01 17:35:07.361: INFO/System.out(375): PoiSaxHandler.startElement type
11-01 17:35:07.361: INFO/System.out(375): E' stato aperto il tag: item
11-01 17:35:07.371: INFO/System.out(375): E' stato aperto il tag: key
11-01 17:35:07.371: INFO/System.out(375): Sono entrato nel metodo character()
11-01 17:35:07.381: INFO/System.out(375): WikiLink: key --> WikiLink
11-01 17:35:07.381: INFO/System.out(375): E' stato aperto il tag: value
11-01 17:35:07.391: INFO/System.out(375): Sono entrato nel metodo character()
11-01 17:35:07.411: INFO/System.out(375): Eccezione -> java.lang.NullPointerException
11-01 17:35:07.991: INFO/MapActivity(375): Handling network change notification:CONNECTED



Pare che non sia cambiato nulla...mi viene il sospetto che per qualche strano motivo non riesca proprio ad entrare nel metodo characters(), anzi per meglio dire ci entra ma poi si inchioda, infatti se vedi ho inserito un System.out all'inizio del metodo isCharacter() che stampa che è entrato in tale metodo, tale messaggio compare ma poi si inchioda come se non riuscisse ad andare oltre...noti qualcosa per caso?

Tnx

Gimli[2BV!2B]
01-11-2010, 19:32
Potrebbe essere colpa di length?public void characters(char ch[], int start, int length) throws SAXException{
System.out.println("character(): "+start+" -> "+length);
String sText = "";
if(length > 0){
sText = new String(ch, start, length).trim();
}
if(currentElement == null){
currentElement = "";
}
[...]

e-commerce84
01-11-2010, 19:51
mmm mi stai dicendo che dovrei provare a sostituire così?:


public void characters(char ch[], int start, int length) throws SAXException{
System.out.println("Sono entrato nel metodo character()");
String sText = new String(ch, start, length).trim();
if(sText == null){
sText = "";
}
if(currentElement == null){
currentElement = "";
}


con:


public void characters(char ch[], int start, int length) throws SAXException{
System.out.println("Sono entrato nel metodo character()");
String sText = new String(ch, start, length).trim();
if(length > 0){
sText = new String(ch, start, length).trim();
}

if(currentElement == null){
currentElement = "";
}


Se avessi ben capito non cambia niente...continua a darmi sempre e comunque lo stesso output :muro: :muro: :


11-01 18:48:02.750: INFO/System.out(319): E' iniziato il parsing del documento XML
11-01 18:48:02.770: INFO/System.out(319): E' stato aperto il tag: soapenv:Body
11-01 18:48:02.780: INFO/System.out(319): E' stato aperto il tag: getRangePoiResponse
11-01 18:48:02.780: INFO/System.out(319): E' stato aperto getRangePoiReturn
11-01 18:48:02.790: INFO/System.out(319): PoiSaxHandler.startElement null
11-01 18:48:02.790: INFO/System.out(319): E' stato aperto getRangePoiReturn
11-01 18:48:02.800: INFO/System.out(319): PoiSaxHandler.startElement type
11-01 18:48:02.800: INFO/System.out(319): E' stato aperto il tag: item
11-01 18:48:02.810: INFO/System.out(319): E' stato aperto il tag: key
11-01 18:48:02.810: INFO/System.out(319): Sono entrato nel metodo character()
11-01 18:48:02.820: INFO/System.out(319): WikiLink: key --> WikiLink
11-01 18:48:02.820: INFO/System.out(319): E' stato aperto il tag: value
11-01 18:48:02.830: INFO/System.out(319): Sono entrato nel metodo character()
11-01 18:48:02.840: INFO/System.out(319): Eccezione -> java.lang.NullPointerException
11-01 18:48:03.510: INFO/MapActivity(319): Handling network change notification:CONNECTED


Azz...sono veramente disperato, mi viene da piangere :cry:

Per completezza ti riporto tutta la mia classe dell'handler così come è attualmente:


package mieapplicazioni.Http;

import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;

import android.util.Log;

import java.util.ArrayList;
import java.util.List;

public final class PoiSaxHandler extends DefaultHandler {


private boolean isId;
private boolean isLat;
private boolean isLon;
private boolean isAlt;
private boolean isTipologia;
private boolean isWiki;
private boolean isPoiId;
private boolean isNome;

private int cicle=0;

// Viene invocato quando inizia il parsing del documento XML:
public void startDocument() throws SAXException {
System.out.println("E' iniziato il parsing del documento XML");
}

private Poi p = null; // Dichiaro il riferimento ad un oggetto Poi che inizialmente punta a null
private List<Poi> pois = new ArrayList<Poi>(); // Crea un'array list di oggetti di tipo Poi

private String currentElement = null; // currentElement è una stringa inizialmente nulla

// notifies about finish of parsing: !?!?! DUBBIO: Così aggiunge un solo oggetto Poi alla lista: l'ultimo
public void endDocument() throws SAXException {
pois.add(p); // Aggiunge l'oggetto Poi p alla lista di Poi
System.out.println("Document processing finished"); // Stampa il messaggio che dice che il parsing è terminato
}

// we enter to element 'qName': Viene invocato quando trova un nuovo elemento, il nome dell'elemento è in qName
public void startElement(String uri, String localName, String qName, Attributes attrs) throws SAXException {

String key=""; // la stringa key è inizialmente vuota

if (qName.equals("soapenv:Envelope")) { // Se è il tag <soapenv:Envelope ....>
currentElement=qName; // Mette "soapenv:Envelope" dentro la variabile currentElement
}
else if (qName.equals("soapenv:Body")) { // Se è il tag <soapenv:Body>
currentElement=qName; // mette "soapenv:Body" dentro la variabile currentElement
//System.out.println("SimpleSaxHandler$SaxHandler.startElement body");
System.out.println("E' stato aperto il tag: " + qName);

}
else if (qName.equals("listPoiReturn")) { // Se è il tag "listPoiReturn" NON C'È NEL MIO XML
currentElement=qName; // Mette dentro current element listPoiReturn
//System.out.println("SimpleSaxHandler$SaxHandler.startElement listPois");
}
else if(qName.equals("getRangePoiResponse")) { // Se è il tag <getRangePoiResponse....>
currentElement=qName; // Mette getRangePoiResponse dentro currentElement
System.out.println("E' stato aperto il tag: " + qName);
}
else if(qName.equals("getRangePoiReturn")) { // Se + il tag <getRangePoiReturn...>
currentElement=qName; // Mette getRangePoiReturn dentro currentElement
System.out.println("E' stato aperto getRangePoiReturn");
System.out.println("PoiSaxHandler.startElement "+attrs.getLocalName(0));
if(attrs.getLocalName(0)!=null&&attrs.getLocalName(0).equals("xsi:type"))
{
//System.out.println("SimpleSaxHandler$SaxHandler.startElement nuovo pois");

if(cicle==0){
p=new Poi();
System.out.println("La variabile cicle vale: " + cicle);
}
else{
System.out.println("La variabile cicle vale: " + cicle);
pois.add(p);
p=new Poi();
}
cicle++;
System.out.println("La variabile cicle vale: " + cicle);
}
}
else if (qName.equals("item")){
currentElement=qName;
System.out.println("E' stato aperto il tag: " + qName); // E' entrato nel tag item
}
else if (qName.equals("key")){
currentElement=qName;
System.out.println("E' stato aperto il tag: " + qName); // E' entrato nel tag key
//System.out.println("SimpleSaxHandler$SaxHandler "+currentElement);

//System.out.println("SimpleSaxHandler$SaxHandler.startElement key "+key);
}
else if (qName.equals("value")){
currentElement=qName;
System.out.println("E' stato aperto il tag: " + qName); // E' entrato nel dag value

//System.out.println("SimpleSaxHandler$SaxHandler.startElement value di "+key+" -->"+attrs.getQName(0));
}

else {
throw new IllegalArgumentException("Element '" +
qName + "' is not allowed here");
}
}




// we leave element 'qName' without any actions:
public void endElement(String uri, String localName, String qName)
throws SAXException {

//System.out.println("SimpleSaxHandler$SaxHandler.endElement "+qName);



}

public void characters(char ch[], int start, int length) throws SAXException{
System.out.println("Sono entrato nel metodo character()");
String sText = new String(ch, start, length).trim();
if(length > 0){
sText = new String(ch, start, length).trim();
}

if(currentElement == null){
currentElement = "";
}

if(currentElement.equals("key")){
if(sText.equals("Id")){
System.out.println("Id: "+currentElement+" --> "+ sText);
isId = true;
}else if(sText.equals("Lat")){
System.out.println("Lat: "+currentElement+" --> "+ sText);
isLat = true;
}else if(sText.equals("Lon")){
System.out.println("Lon: "+currentElement+" --> "+ sText);
isLon = true;
}else if(sText.equals("Alt")){
System.out.println("Alt: "+currentElement+" --> "+ sText);
isAlt = true;
}else if(sText.equals("Tipologia")){
System.out.println("Tipologia: "+currentElement+" --> "+ sText);
isTipologia = true;
}else if(sText.equals("Nome")){
System.out.println("Nome: "+currentElement+" --> "+ sText);
isNome = true;
}else if(sText.equals("WikiLink")){ // ho cambiato Wikilink con WikiLink
System.out.println("WikiLink: "+currentElement+" --> "+ sText);
isWiki = true;
}else if(sText.equals("Distance")){
System.out.println("Distance: "+currentElement+" --> "+ sText);
isPoiId = true;
}
}else if(currentElement.equals("value")){
if(isId){
isId = false;
long id = 0;

if(sText.length() > 0)
id = Long.parseLong(sText);
p.setId(id);
System.out.println("id: "+id);
}else if(isLat){
isLat = false;
float lat = 0;

if(sText.length() > 0){
lat = Float.parseFloat(sText);
}
p.setLat(lat);
System.out.println("lat: "+lat);
}else if(isLon){
isLon = false;
float lon = 0;

if(sText.length() > 0){
lon = Float.parseFloat(sText);
}
p.setLon(lon);
System.out.println("lon: "+lon);
}else if(isAlt){
isAlt = false;
float alt = 0;

if(sText.length() > 0){
alt = Float.parseFloat(sText);
}
p.setAlt(alt);
System.out.println("alt: "+alt);
}else if(isTipologia){
isTipologia = false;
int tipologia = 0;

if(sText.length() > 0){
tipologia = Integer.parseInt(sText);
}
p.setTipologia(tipologia);
System.out.println("Tipologia: "+tipologia);
}else if(isNome){
isNome = false;

p.setNome(sText);
System.out.println("Nome: "+sText);
}else if(isWiki){
isWiki = false;

p.setWikilynk(sText);
System.out.println("Wiki: "+sText);
}else if(isPoiId){
isPoiId = false;
Long poiId = null;

if(sText.length() > 0){
poiId=Long.parseLong(sText);
}
p.setPoiId(poiId.toString());
System.out.println("PoiId: "+poiId);
}
}
}

public List<Poi> getPois() {
//Log.d("Sono entranto nel metodo getPois dentro la classe PoiSaxHandler", "1");
// Log.d("getPoisHandler", pois.toString());
return pois;
}
// do nothing;
}


dici che è risolvibile sto paser maledetto...cazzarella...mi sono impallato tante volte in questo progetto...ma mai così...ed è l'ultimo pezzo...che rabbia :muro: :muro: :muro:

Gimli[2BV!2B]
01-11-2010, 19:59
No, cambia tutto il blocco, soprattutto le righe precedenti all'if (e pure il System.out); ho evidenziato il test perché il mio principale sospettato è length.

e-commerce84
01-11-2010, 20:30
Ok...ho cambiato come mi hai detto (spero), così:


public void characters(char ch[], int start, int length) throws SAXException{
System.out.println("character(): "+start+" -> "+length);
String sText = "";
if(length > 0){
sText = new String(ch, start, length).trim();
}
if(currentElement == null){
currentElement = "";
}


if(currentElement.equals("key")){
if(sText.equals("Id")){
System.out.println("Id: "+currentElement+" --> "+ sText);
isId = true;
}else if(sText.equals("Lat")){
System.out.println("Lat: "+currentElement+" --> "+ sText);
isLat = true;
}else if(sText.equals("Lon")){
System.out.println("Lon: "+currentElement+" --> "+ sText);
isLon = true;
}else if(sText.equals("Alt")){
System.out.println("Alt: "+currentElement+" --> "+ sText);
isAlt = true;
}else if(sText.equals("Tipologia")){
System.out.println("Tipologia: "+currentElement+" --> "+ sText);
isTipologia = true;
}else if(sText.equals("Nome")){
System.out.println("Nome: "+currentElement+" --> "+ sText);
isNome = true;
}else if(sText.equals("WikiLink")){ // ho cambiato Wikilink con WikiLink
System.out.println("WikiLink: "+currentElement+" --> "+ sText);
isWiki = true;
}else if(sText.equals("Distance")){
System.out.println("Distance: "+currentElement+" --> "+ sText);
isPoiId = true;
}
}else if(currentElement.equals("value")){
if(isId){
isId = false;
long id = 0;

if(sText.length() > 0)
id = Long.parseLong(sText);
p.setId(id);
System.out.println("id: "+id);
}else if(isLat){
isLat = false;
float lat = 0;

if(sText.length() > 0){
lat = Float.parseFloat(sText);
}
p.setLat(lat);
System.out.println("lat: "+lat);
}else if(isLon){
isLon = false;
float lon = 0;

if(sText.length() > 0){
lon = Float.parseFloat(sText);
}
p.setLon(lon);
System.out.println("lon: "+lon);
}else if(isAlt){
isAlt = false;
float alt = 0;

if(sText.length() > 0){
alt = Float.parseFloat(sText);
}
p.setAlt(alt);
System.out.println("alt: "+alt);
}else if(isTipologia){
isTipologia = false;
int tipologia = 0;

if(sText.length() > 0){
tipologia = Integer.parseInt(sText);
}
p.setTipologia(tipologia);
System.out.println("Tipologia: "+tipologia);
}else if(isNome){
isNome = false;

p.setNome(sText);
System.out.println("Nome: "+sText);
}else if(isWiki){
isWiki = false;

p.setWikilynk(sText);
System.out.println("Wiki: "+sText);
}else if(isPoiId){
isPoiId = false;
Long poiId = null;

if(sText.length() > 0){
poiId=Long.parseLong(sText);
}
p.setPoiId(poiId.toString());
System.out.println("PoiId: "+poiId);
}
}
}


ed ora effettivamente l'output pare essere cambiato ma comunque continua ad andare in errore:


11-01 19:27:06.665: INFO/System.out(314): E' iniziato il parsing del documento XML
11-01 19:27:06.685: INFO/System.out(314): E' stato aperto il tag: soapenv:Body
11-01 19:27:06.685: INFO/System.out(314): E' stato aperto il tag: getRangePoiResponse
11-01 19:27:06.685: INFO/System.out(314): E' stato aperto getRangePoiReturn
11-01 19:27:06.705: INFO/System.out(314): PoiSaxHandler.startElement null
11-01 19:27:06.705: INFO/System.out(314): E' stato aperto getRangePoiReturn
11-01 19:27:06.705: INFO/System.out(314): PoiSaxHandler.startElement type
11-01 19:27:06.715: INFO/System.out(314): E' stato aperto il tag: item
11-01 19:27:06.725: INFO/System.out(314): E' stato aperto il tag: key
11-01 19:27:06.725: INFO/System.out(314): character(): 0 -> 8
11-01 19:27:06.735: INFO/System.out(314): WikiLink: key --> WikiLink
11-01 19:27:06.735: INFO/System.out(314): E' stato aperto il tag: value
11-01 19:27:06.745: INFO/System.out(314): character(): 0 -> 6
11-01 19:27:06.755: INFO/System.out(314): Eccezione -> java.lang.NullPointerException


continua a tirare fuori l'eccezione maledetta

Gimli[2BV!2B]
01-11-2010, 21:27
Ormai non riesco più a vedere punti che possano scatenare NullPointer.
I miei sospetti cadono su p.setWikilynk(sText), concentra in quel punto la raccolta di informazioni:[...]
}else if(currentElement.equals("value")){
System.out.println("value: "+sText);
if(isId){
isId = false;
long id = 0;

if(sText.length() > 0)
id = Long.parseLong(sText);
p.setId(id);
System.out.println("id: "+id);
}else if(isLat){
isLat = false;
float lat = 0;

if(sText.length() > 0){
lat = Float.parseFloat(sText);
}
p.setLat(lat);
System.out.println("lat: "+lat);
}else if(isLon){
isLon = false;
float lon = 0;

if(sText.length() > 0){
lon = Float.parseFloat(sText);
}
p.setLon(lon);
System.out.println("lon: "+lon);
}else if(isAlt){
isAlt = false;
float alt = 0;

if(sText.length() > 0){
alt = Float.parseFloat(sText);
}
p.setAlt(alt);
System.out.println("alt: "+alt);
}else if(isTipologia){
isTipologia = false;
int tipologia = 0;

if(sText.length() > 0){
tipologia = Integer.parseInt(sText);
}
p.setTipologia(tipologia);
System.out.println("Tipologia: "+tipologia);
}else if(isNome){
isNome = false;

p.setNome(sText);
System.out.println("Nome: "+sText);
}else if(isWiki){
System.out.println("Wiki: "+sText);
isWiki = false;

p.setWikilynk(sText);
System.out.println("p.setWikilynk(sText)!");
}else if(isPoiId){
isPoiId = false;
Long poiId = null;

if(sText.length() > 0){
poiId=Long.parseLong(sText);
}
p.setPoiId(poiId.toString());
System.out.println("PoiId: "+poiId);
}
}
}

e-commerce84
01-11-2010, 23:51
one moment, stò provando

e-commerce84
02-11-2010, 00:04
Ho inserito tutti i System.out che mi avevi detto ma l'output è questo:


11-01 23:02:20.318: INFO/System.out(346): E' iniziato il parsing del documento XML
11-01 23:02:20.327: INFO/System.out(346): E' stato aperto il tag: soapenv:Body
11-01 23:02:20.327: INFO/System.out(346): E' stato aperto il tag: getRangePoiResponse
11-01 23:02:20.327: INFO/System.out(346): E' stato aperto getRangePoiReturn
11-01 23:02:20.338: INFO/System.out(346): PoiSaxHandler.startElement null
11-01 23:02:20.348: INFO/System.out(346): E' stato aperto getRangePoiReturn
11-01 23:02:20.348: INFO/System.out(346): PoiSaxHandler.startElement type
11-01 23:02:20.358: INFO/System.out(346): E' stato aperto il tag: item
11-01 23:02:20.358: INFO/System.out(346): E' stato aperto il tag: key
11-01 23:02:20.368: INFO/System.out(346): character(): 0 -> 8
11-01 23:02:20.368: INFO/System.out(346): WikiLink: key --> WikiLink
11-01 23:02:20.378: INFO/System.out(346): E' stato aperto il tag: value
11-01 23:02:20.388: INFO/System.out(346): character(): 0 -> 6
11-01 23:02:20.388: INFO/System.out(346): value: link 2
11-01 23:02:20.398: INFO/System.out(346): Wiki: link 2
11-01 23:02:20.408: INFO/System.out(346): Eccezione -> java.lang.NullPointerException


L'eccezione è comunque sollevata... :muro: :cry:
Correggimi se sbaglio...ma è come se entrasse nel primo tag <item> </item> che descrive il campo wikiLink ma poi si incarta in qualcosa e non riesce ad andare oltre negli altri tag <item>

Gimli[2BV!2B]
02-11-2010, 00:37
Vedi che non stampa "p.setWikilynk(sText)!"

I casi sono due: o p == null o c'è un errore nella funzione setWikilynk.

[...]
}else if(isWiki){
System.out.println("Wiki: "+sText);
isWiki = false;
if(p == null) System.out.println("p è null!!");
else System.out.println("occhettuffai setWikilynk??!!");
p.setWikilynk(sText);
System.out.println("p.setWikilynk(sText)!");
}else if(isPoiId){
[...]

e-commerce84
02-11-2010, 12:58
Proviamo a fare anche questo test

Allora, ho messo il codice come tu mi hai detto così in base al fatto che p sia settata a null stampa un messaggio o un altro:


}else if(isWiki){
System.out.println("Wiki: "+sText);
isWiki = false;

if(p == null) System.out.println("p è null!!");
else System.out.println("occhettuffai setWikilynk??!!");

p.setWikilynk(sText);
System.out.println("p.setWikilynk(sText)!");
}else if(isPoiId){


ed il risultato datomi è:


11-02 11:51:48.040: INFO/System.out(307): E' iniziato il parsing del documento XML
11-02 11:51:48.050: INFO/System.out(307): E' stato aperto il tag: soapenv:Body
11-02 11:51:48.060: INFO/System.out(307): E' stato aperto il tag: getRangePoiResponse
11-02 11:51:48.060: INFO/System.out(307): E' stato aperto getRangePoiReturn
11-02 11:51:48.060: INFO/System.out(307): PoiSaxHandler.startElement null
11-02 11:51:48.080: INFO/System.out(307): E' stato aperto getRangePoiReturn
11-02 11:51:48.080: INFO/System.out(307): PoiSaxHandler.startElement type
11-02 11:51:48.089: INFO/System.out(307): E' stato aperto il tag: item
11-02 11:51:48.089: INFO/System.out(307): E' stato aperto il tag: key
11-02 11:51:48.100: INFO/System.out(307): character(): 0 -> 8
11-02 11:51:48.100: INFO/System.out(307): WikiLink: key --> WikiLink
11-02 11:51:48.110: INFO/System.out(307): E' stato aperto il tag: value
11-02 11:51:48.110: INFO/System.out(307): character(): 0 -> 6
11-02 11:51:48.110: INFO/System.out(307): value: link 2
11-02 11:51:48.120: INFO/System.out(307): Wiki: link 2
11-02 11:51:48.120: INFO/System.out(307): p è null!!
11-02 11:51:48.140: INFO/System.out(307): Eccezione -> java.lang.NullPointerException
11-02 11:51:48.780: INFO/MapActivity(307): Handling network change notification:CONNECTED


Il problema è che l'oggetto p è null !!! Quindi credo che il grosso problema è che (ma potrei anche dire cavolate perchè non sono praticissimo...è il primo vero progetto di programmazione che faccio):

1) Inizia a srotolare il file XML.
2) Entra nella rappresentazione del primo punto di interesse.
3) Entra nel primo tag <item></item> che rappresenta un campo dell'oggetto Poi che rappresenta un punto di interesse.
4) Dentro al tag <item><item> trova i due tag <key> e <value> che rispettivamente rappresentano il nome del campo da settare nell'oggetto Poi (in questo caso WikiLink) ed il valore di tale campo (in questo caso Link 2)

5) Prova a chiamare il metodo setWikiLink() sull'oggetto p di tipo Poi passandogli il valore del campo value e si inchioda perchè tale oggetto è settato a null

Ho dedotto bene?

Però non capisco perchè sia settato a null...

Gimli[2BV!2B]
02-11-2010, 19:45
Ok, segui gli output: dove viene creato p? In startElement().

Perché non viene creato e non stampa mai i cicle (cosa che mi era sfuggita)? Perché c'è un test storto.

Vedi 11-01 23:02:20.348: INFO/System.out(346): PoiSaxHandler.startElement type -> non è xsi:type, l'"xsi:" viene tolto in automatico:
public void startElement(String uri, String localName, String qName, Attributes attrs) throws SAXException {
[...]
else if(qName.equals("getRangePoiReturn")) { // Se + il tag <getRangePoiReturn...>
currentElement=qName; // Mette getRangePoiReturn dentro currentElement
System.out.println("E' stato aperto getRangePoiReturn");
System.out.println("PoiSaxHandler.startElement "+attrs.getLocalName(0));
if(attrs.getLocalName(0) != null && attrs.getLocalName(0).equals("type"))
{
//System.out.println("SimpleSaxHandler$SaxHandler.startElement nuovo pois");

if(cicle==0){
p=new Poi();
System.out.println("La variabile cicle vale: " + cicle);
}
else{
System.out.println("La variabile cicle vale: " + cicle);
pois.add(p);
p=new Poi();
}
cicle++;
System.out.println("La variabile cicle vale: " + cicle);
}
}
[...]

e-commerce84
02-11-2010, 20:38
Ok...è andato un po' avanti ma ora si inchioda più avanti e continuo a non capire perchè.

Per prima cosa ti faccio una domanda su quello che hai fatto: il concetto è che nel controllo non dovevo mettere .equals("xsi:type")) perchè l'xsi: leva da solo? perdona l'ignoranza ma è la prima volta che tocco un XML in vita mia, l'xsi per cosa stà? nel senso che mi rappresenta esattamente?

Ora passiamo a dove si inchioda, l'output che mi tira fuori è il seguente:


11-02 19:21:38.868: INFO/System.out(345): E' iniziato il parsing del documento XML
11-02 19:21:38.877: INFO/System.out(345): E' stato aperto il tag: soapenv:Body
11-02 19:21:38.877: INFO/System.out(345): E' stato aperto il tag: getRangePoiResponse
11-02 19:21:38.888: INFO/System.out(345): E' stato aperto getRangePoiReturn
11-02 19:21:38.888: INFO/System.out(345): PoiSaxHandler.startElement null
11-02 19:21:38.898: INFO/System.out(345): E' stato aperto getRangePoiReturn
11-02 19:21:38.898: INFO/System.out(345): PoiSaxHandler.startElement type
11-02 19:21:38.907: INFO/System.out(345): E' stato creato un nuovo oggetto di tipo Poi: mieapplicazioni.Http.Poi@43e498f0
11-02 19:21:38.907: INFO/System.out(345): La variabile cicle vale: 1
11-02 19:21:38.918: INFO/System.out(345): E' stato aperto il tag: item
11-02 19:21:38.918: INFO/System.out(345): E' stato aperto il tag: key
11-02 19:21:38.928: INFO/System.out(345): character(): 0 -> 8
11-02 19:21:38.928: INFO/System.out(345): WikiLink: key --> WikiLink
11-02 19:21:38.938: INFO/System.out(345): E' stato aperto il tag: value
11-02 19:21:38.938: INFO/System.out(345): character(): 0 -> 6
11-02 19:21:38.948: INFO/System.out(345): value: link 2
11-02 19:21:38.958: INFO/System.out(345): Wiki: link 2
11-02 19:21:38.958: INFO/System.out(345): p.setWikilynk(sText)!
11-02 19:21:38.958: INFO/System.out(345): E' stato aperto il tag: item
11-02 19:21:38.968: INFO/System.out(345): E' stato aperto il tag: key
11-02 19:21:38.968: INFO/System.out(345): character(): 0 -> 3
11-02 19:21:38.978: INFO/System.out(345): Alt: key --> Alt
11-02 19:21:38.978: INFO/System.out(345): E' stato aperto il tag: value
11-02 19:21:38.988: INFO/System.out(345): character(): 0 -> 3
11-02 19:21:38.988: INFO/System.out(345): value: 0.0
11-02 19:21:38.998: INFO/System.out(345): alt: 0.0
11-02 19:21:38.998: INFO/System.out(345): E' stato aperto il tag: item
11-02 19:21:39.008: INFO/System.out(345): E' stato aperto il tag: key
11-02 19:21:39.008: INFO/System.out(345): character(): 0 -> 9
11-02 19:21:39.018: INFO/System.out(345): Tipologia: key --> Tipologia
11-02 19:21:39.018: INFO/System.out(345): E' stato aperto il tag: value
11-02 19:21:39.028: INFO/System.out(345): character(): 0 -> 1
11-02 19:21:39.028: INFO/System.out(345): value: 0
11-02 19:21:39.037: INFO/System.out(345): Tipologia: 0
11-02 19:21:39.037: INFO/System.out(345): E' stato aperto il tag: item
11-02 19:21:39.048: INFO/System.out(345): E' stato aperto il tag: key
11-02 19:21:39.048: INFO/System.out(345): character(): 0 -> 8
11-02 19:21:39.058: INFO/System.out(345): Distance: key --> Distance
11-02 19:21:39.058: INFO/System.out(345): E' stato aperto il tag: value
11-02 19:21:39.068: INFO/System.out(345): character(): 0 -> 3
11-02 19:21:39.068: INFO/System.out(345): value: 0.0
11-02 19:21:39.088: INFO/System.out(345): Eccezione -> java.lang.NumberFormatException: 0.0: 0.0
11-02 19:21:39.718: INFO/MapActivity(345): Handling network change notification:CONNECTED


Stavo ragionando su cosa potrebbe essere successo durante l'esecuzione del parsing dell'XML: questa volta entra nell'if dove crea l'oggetto p ed alla variabile cicle viene correttamente dato un valore che viene di volta in volta incrementato...e fin quì tutto bene.
Correggimi se sbaglio: mi sembra di capire che la variabile cicle sia incrementata di 1 ad ogni oggetto p che viene creato durante il parsing del file XML (in pratica ogni volta che incontra il tag <getRangePoiReturn xsi:type="ns1:Map"...> che rappresenta un nuovo punto di interesse, giusto?

Poi che succede: crea il primo oggetto p di tipo Poi ed inizia a scorrere i vari tag <item></item> che contengono le informazioni con cui settare le variabili dell'oggetto p in questione.

Dall'output mi pare abbastanza chiaro che entra nel primo oggetti <item> che corrisponde alla proprietà WikiLink (ed ok...nell'XML restituito di fatto è il primo) e ne setta la corrispondente variabile nell'oggetto p, poi prosegue ed entra nel tag <item> che rappresenta la proprietà Alt e ne setta il valore in p (ok...), poi fà la stessa cosa con il tag <item> rappresentante la proprità Tipologia (ed ok anche quì), poi entra nel tag <item> che rappresenta la proprietà Distance e credo che vada tutto bene ma poi si inchioda dando l'eccezione:

11-02 19:21:39.088: INFO/System.out(345): Eccezione -> java.lang.NumberFormatException: 0.0: 0.0


mmm che significa? che non gli piace il formato del numero? qualche problema di casting o cosa? Azz...

Comunque grazie mille per il preziosissimo aiuto che mi stai dando !!! Se passi per Roma come minimo ti offro una pizza :)

Gimli[2BV!2B]
02-11-2010, 22:13
L'xsi, che in questo XML è riferito solo a type, identifica un namespace.
Questo namespace (in questo caso uno di quelli W3C (http://www.w3.org/TR/xmlschema-1/#xsi_type)) specifica il tipo di dato del testo contenuto nel tag.
Come puoi vedere hai dati semplici (xsd:string, xsd:float, ecc...), ma anche strutture, come l'intero set di dati di un punto di interesse, definito ns1:Map.

Trattandosi di una informazione piuttosto inutile, al di fuori della fase di parsing/validazione dell'XML, il DefaultHandler (suppongo) fa la gentilezza di toglierla di mezzo per mettere a disposizione dati più puliti.

Seguendo questa strada arriviamo a capire anche da cosa dipende il nuovo errore: come puoi vedere il value di Distance è di type xsd:double (difatti è 0.0).
Però nel codice, nella funzione Characters(), viene trattato come un long, cercando di masticarlo con Long.parseLong, che, gentilmente, ti urla che sText non contiene un long gettando un'eccezione.

Occorre quindi trattare correttamente i dati nei vari if.
Per questo errore riduciamo al massimo l'ultimo else if, il più zoppo come corrispondenza tra tipi di dato e nomi di variabili (Distance viene indicato con PoiId e da un double passa al metodo corrispondente una String, strano...):[...]
}else if(isPoiId){
isPoiId = false;

p.setPoiId(sText);
System.out.println("PoiId: "+sText);
}
[...]

Naturalmente questo approccio è semplicistico, occorrerebbe fare il parse dei dati in accordo con il tipo di dato pubblicato nel tag, memorizzando il risultato nel corrispettivo tipo di dato Java (validando il valore, reagendo se il tipo di dato dell'XML non è come si aspettava, ecc...).

e-commerce84
03-11-2010, 00:19
mmm qualcosa ho capito...qualcosa no...ma vabbè...mi metterò a cercare di colmare le mie lacune...tieni conto che in questo corso non ci hanno fatto vedere praticamente nulla di concreto, salvo un po' di Android...un po'...mi sono dovuto imparare Spring, Hibernate, Android, scrivere un webservice...tutto da solo...una fatica incredibile...a volte anche molto frustrante :cry:

Vabbè dopo il piccolo sfogo veniamo al dunque, praticamente mi stai dicendo che devo provare a sostituire il codice nell'ultimo else if:


else if(isPoiId){
isPoiId = false;
Long poiId = null;

if(sText.length() > 0){
poiId=Long.parseLong(sText);
}
p.setPoiId(poiId.toString());
System.out.println("PoiId: "+poiId);
}


con questo codice:


else if(isPoiId){
isPoiId = false;

p.setPoiId(sText);
System.out.println("PoiId: "+sText);
}


In pratica hai eliminato:

Long poiId = null;

if(sText.length() > 0){
poiId=Long.parseLong(sText);
}


Per curiosità: cosa faceva il pezzo che hai eliminato?

Comunque ora l'output che mi viene dato è il seguente e mi fà ben sperare questa volta:


11-02 23:12:11.910: INFO/System.out(383): E' iniziato il parsing del documento XML
11-02 23:12:11.920: INFO/System.out(383): E' stato aperto il tag: soapenv:Body
11-02 23:12:11.920: INFO/System.out(383): E' stato aperto il tag: getRangePoiResponse
11-02 23:12:11.930: INFO/System.out(383): E' stato aperto getRangePoiReturn
11-02 23:12:11.940: INFO/System.out(383): PoiSaxHandler.startElement null
11-02 23:12:11.940: INFO/System.out(383): E' stato aperto getRangePoiReturn
11-02 23:12:11.940: INFO/System.out(383): PoiSaxHandler.startElement type
11-02 23:12:11.951: INFO/System.out(383): E' stato creato un nuovo oggetto di tipo Poi: mieapplicazioni.Http.Poi@43f009d8
11-02 23:12:11.960: INFO/System.out(383): La variabile cicle vale: 1
11-02 23:12:11.960: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:11.971: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:11.971: INFO/System.out(383): character(): 0 -> 8
11-02 23:12:11.981: INFO/System.out(383): WikiLink: key --> WikiLink
11-02 23:12:11.981: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:11.990: INFO/System.out(383): character(): 0 -> 6
11-02 23:12:11.990: INFO/System.out(383): value: link 2
11-02 23:12:12.011: INFO/System.out(383): Wiki: link 2
11-02 23:12:12.011: INFO/System.out(383): p.setWikilynk(sText)!
11-02 23:12:12.011: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:12.021: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:12.021: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:12.031: INFO/System.out(383): Alt: key --> Alt
11-02 23:12:12.031: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:12.041: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:12.041: INFO/System.out(383): value: 0.0
11-02 23:12:12.051: INFO/System.out(383): alt: 0.0
11-02 23:12:12.061: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:12.061: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:12.061: INFO/System.out(383): character(): 0 -> 9
11-02 23:12:12.076: INFO/System.out(383): Tipologia: key --> Tipologia
11-02 23:12:12.081: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:12.081: INFO/System.out(383): character(): 0 -> 1
11-02 23:12:12.091: INFO/System.out(383): value: 0
11-02 23:12:12.091: INFO/System.out(383): Tipologia: 0
11-02 23:12:12.101: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:12.101: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:12.101: INFO/System.out(383): character(): 0 -> 8
11-02 23:12:12.110: INFO/System.out(383): Distance: key --> Distance
11-02 23:12:12.110: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:12.121: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:12.121: INFO/System.out(383): value: 0.0
11-02 23:12:12.121: INFO/System.out(383): PoiId: 0.0
11-02 23:12:12.131: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:12.131: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:12.140: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:12.140: INFO/System.out(383): Lat: key --> Lat
11-02 23:12:12.140: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:12.140: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:12.140: INFO/System.out(383): value: 0.0
11-02 23:12:12.140: INFO/System.out(383): lat: 0.0
11-02 23:12:12.140: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:12.151: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:12.151: INFO/System.out(383): character(): 0 -> 2
11-02 23:12:12.151: INFO/System.out(383): Id: key --> Id
11-02 23:12:12.151: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:12.151: INFO/System.out(383): character(): 0 -> 1
11-02 23:12:12.151: INFO/System.out(383): value: 3
11-02 23:12:12.151: INFO/System.out(383): id: 3
11-02 23:12:12.151: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:12.151: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:12.151: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:12.151: INFO/System.out(383): Lon: key --> Lon
11-02 23:12:12.151: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:12.151: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:12.151: INFO/System.out(383): value: 0.0
11-02 23:12:12.151: INFO/System.out(383): lon: 0.0
11-02 23:12:12.151: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:12.151: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:12.151: INFO/System.out(383): character(): 0 -> 4
11-02 23:12:12.151: INFO/System.out(383): Nome: key --> Nome
11-02 23:12:12.151: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:12.190: INFO/System.out(383): character(): 0 -> 6
11-02 23:12:12.190: INFO/System.out(383): value: test 2
11-02 23:12:12.190: INFO/System.out(383): Nome: test 2
11-02 23:12:12.190: INFO/System.out(383): E' stato aperto getRangePoiReturn
11-02 23:12:12.190: INFO/System.out(383): PoiSaxHandler.startElement type
11-02 23:12:12.190: INFO/System.out(383): La variabile cicle vale: 1
11-02 23:12:12.190: INFO/System.out(383): E' stato creato un nuovo oggetto di tipo Poi: mieapplicazioni.Http.Poi@43e3f670
11-02 23:12:12.190: INFO/System.out(383): La variabile cicle vale: 2
11-02 23:12:12.190: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:12.190: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:12.220: INFO/System.out(383): character(): 0 -> 8
11-02 23:12:12.220: INFO/System.out(383): WikiLink: key --> WikiLink
11-02 23:12:12.220: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:12.220: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:12.220: INFO/System.out(383): value: lll
11-02 23:12:12.220: INFO/System.out(383): Wiki: lll
11-02 23:12:12.220: INFO/System.out(383): p.setWikilynk(sText)!
11-02 23:12:12.220: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:12.220: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:12.220: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:12.220: INFO/System.out(383): Alt: key --> Alt
11-02 23:12:12.220: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:12.220: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:12.220: INFO/System.out(383): value: 0.0
11-02 23:12:12.220: INFO/System.out(383): alt: 0.0
11-02 23:12:12.220: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:12.220: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:12.220: INFO/System.out(383): character(): 0 -> 9
11-02 23:12:12.220: INFO/System.out(383): Tipologia: key --> Tipologia
11-02 23:12:12.250: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:12.250: INFO/System.out(383): character(): 0 -> 1
11-02 23:12:12.250: INFO/System.out(383): value: 0
11-02 23:12:12.250: INFO/System.out(383): Tipologia: 0
11-02 23:12:12.250: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:12.250: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:12.250: INFO/System.out(383): character(): 0 -> 8
11-02 23:12:12.250: INFO/System.out(383): Distance: key --> Distance
11-02 23:12:12.250: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:12.250: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:12.250: INFO/System.out(383): value: 0.0
11-02 23:12:12.260: INFO/System.out(383): PoiId: 0.0
11-02 23:12:12.260: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:12.260: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:12.260: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:12.260: INFO/System.out(383): Lat: key --> Lat
11-02 23:12:12.260: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:12.260: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:12.260: INFO/System.out(383): value: 0.0
11-02 23:12:12.260: INFO/System.out(383): lat: 0.0
11-02 23:12:12.260: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:12.260: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:12.260: INFO/System.out(383): character(): 0 -> 2
11-02 23:12:12.260: INFO/System.out(383): Id: key --> Id
11-02 23:12:12.260: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:12.260: INFO/System.out(383): character(): 0 -> 2
11-02 23:12:12.260: INFO/System.out(383): value: 13
11-02 23:12:12.260: INFO/System.out(383): id: 13
11-02 23:12:12.310: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:12.310: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:12.310: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:12.310: INFO/System.out(383): Lon: key --> Lon
11-02 23:12:12.310: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:12.310: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:12.310: INFO/System.out(383): value: 0.0
11-02 23:12:12.310: INFO/System.out(383): lon: 0.0
11-02 23:12:12.310: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:12.310: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:12.310: INFO/System.out(383): character(): 0 -> 4
11-02 23:12:12.310: INFO/System.out(383): Nome: key --> Nome
11-02 23:12:12.310: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:12.330: INFO/System.out(383): character(): 0 -> 4
11-02 23:12:12.340: INFO/System.out(383): value: aaab
11-02 23:12:12.340: INFO/System.out(383): Nome: aaab
11-02 23:12:12.340: INFO/System.out(383): E' stato aperto getRangePoiReturn
11-02 23:12:12.340: INFO/System.out(383): PoiSaxHandler.startElement type
11-02 23:12:12.340: INFO/System.out(383): La variabile cicle vale: 2
11-02 23:12:12.340: INFO/System.out(383): E' stato creato un nuovo oggetto di tipo Poi: mieapplicazioni.Http.Poi@43e4eea0
11-02 23:12:12.340: INFO/System.out(383): La variabile cicle vale: 3
11-02 23:12:12.340: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:12.340: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:12.340: INFO/System.out(383): character(): 0 -> 8
11-02 23:12:12.340: INFO/System.out(383): WikiLink: key --> WikiLink
11-02 23:12:12.340: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:12.340: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:12.340: INFO/System.out(383): value: lll
11-02 23:12:12.340: INFO/System.out(383): Wiki: lll
11-02 23:12:12.340: INFO/System.out(383): p.setWikilynk(sText)!
11-02 23:12:12.340: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:12.340: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:12.340: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:12.340: INFO/System.out(383): Alt: key --> Alt
11-02 23:12:12.340: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:12.340: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:12.340: INFO/System.out(383): value: 0.0
11-02 23:12:12.340: INFO/System.out(383): alt: 0.0
11-02 23:12:12.401: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:12.410: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:12.410: INFO/System.out(383): character(): 0 -> 9
11-02 23:12:12.410: INFO/System.out(383): Tipologia: key --> Tipologia
11-02 23:12:12.410: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:12.410: INFO/System.out(383): character(): 0 -> 1
11-02 23:12:12.410: INFO/System.out(383): value: 0
11-02 23:12:12.410: INFO/System.out(383): Tipologia: 0
11-02 23:12:12.410: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:12.410: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:12.410: INFO/System.out(383): character(): 0 -> 8
11-02 23:12:12.410: INFO/System.out(383): Distance: key --> Distance
11-02 23:12:12.410: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:12.410: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:12.410: INFO/System.out(383): value: 0.0
11-02 23:12:12.410: INFO/System.out(383): PoiId: 0.0
11-02 23:12:12.410: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:12.410: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:12.410: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:12.410: INFO/System.out(383): Lat: key --> Lat
11-02 23:12:12.410: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:12.430: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:12.430: INFO/System.out(383): value: 0.0
11-02 23:12:12.430: INFO/System.out(383): lat: 0.0
11-02 23:12:12.430: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:12.430: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:12.430: INFO/System.out(383): character(): 0 -> 2
11-02 23:12:12.430: INFO/System.out(383): Id: key --> Id
11-02 23:12:12.430: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:12.430: INFO/System.out(383): character(): 0 -> 2
11-02 23:12:12.460: INFO/System.out(383): value: 12
11-02 23:12:12.460: INFO/System.out(383): id: 12
11-02 23:12:12.460: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:12.460: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:12.470: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:12.470: INFO/System.out(383): Lon: key --> Lon
11-02 23:12:12.470: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:12.470: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:12.470: INFO/System.out(383): value: 0.0
11-02 23:12:12.470: INFO/System.out(383): lon: 0.0
11-02 23:12:12.470: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:12.470: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:12.470: INFO/System.out(383): character(): 0 -> 4
11-02 23:12:12.470: INFO/System.out(383): Nome: key --> Nome
11-02 23:12:12.470: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:12.470: INFO/System.out(383): character(): 0 -> 4
11-02 23:12:12.470: INFO/System.out(383): value: jiji
11-02 23:12:12.470: INFO/System.out(383): Nome: jiji
11-02 23:12:12.470: INFO/System.out(383): E' stato aperto getRangePoiReturn
11-02 23:12:12.470: INFO/System.out(383): PoiSaxHandler.startElement type
11-02 23:12:12.470: INFO/System.out(383): La variabile cicle vale: 3
11-02 23:12:12.470: INFO/System.out(383): E' stato creato un nuovo oggetto di tipo Poi: mieapplicazioni.Http.Poi@43edb478
11-02 23:12:12.470: INFO/System.out(383): La variabile cicle vale: 4
11-02 23:12:12.470: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:12.470: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:12.520: INFO/System.out(383): character(): 0 -> 8
11-02 23:12:12.520: INFO/System.out(383): WikiLink: key --> WikiLink
11-02 23:12:12.520: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:12.520: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:12.520: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:12.520: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:12.520: INFO/System.out(383): Alt: key --> Alt
11-02 23:12:12.520: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:12.520: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:12.520: INFO/System.out(383): value: 0.0
11-02 23:12:12.540: INFO/System.out(383): alt: 0.0
11-02 23:12:12.540: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:12.540: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:12.550: INFO/System.out(383): character(): 0 -> 9
11-02 23:12:12.550: INFO/System.out(383): Tipologia: key --> Tipologia
11-02 23:12:12.550: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:12.550: INFO/System.out(383): character(): 0 -> 1
11-02 23:12:12.550: INFO/System.out(383): value: 0
11-02 23:12:12.550: INFO/System.out(383): Tipologia: 0
11-02 23:12:12.550: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:12.550: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:12.550: INFO/System.out(383): character(): 0 -> 8
11-02 23:12:12.550: INFO/System.out(383): Distance: key --> Distance
11-02 23:12:12.550: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:12.550: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:12.550: INFO/System.out(383): value: 0.0
11-02 23:12:12.550: INFO/System.out(383): Wiki: 0.0
11-02 23:12:12.550: INFO/System.out(383): p.setWikilynk(sText)!
11-02 23:12:12.550: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:12.550: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:12.550: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:12.650: INFO/System.out(383): Lat: key --> Lat
11-02 23:12:12.650: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:12.650: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:12.650: INFO/System.out(383): value: 0.0
11-02 23:12:12.650: INFO/System.out(383): lat: 0.0
11-02 23:12:12.650: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:12.650: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:12.650: INFO/System.out(383): character(): 0 -> 2
11-02 23:12:12.650: INFO/System.out(383): Id: key --> Id
11-02 23:12:12.650: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:12.650: INFO/System.out(383): character(): 0 -> 2
11-02 23:12:12.650: INFO/System.out(383): value: 11
11-02 23:12:12.650: INFO/System.out(383): id: 11
11-02 23:12:12.650: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:12.650: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:12.650: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:12.650: INFO/System.out(383): Lon: key --> Lon
11-02 23:12:12.650: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:12.650: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:12.650: INFO/System.out(383): value: 0.0
11-02 23:12:12.673: INFO/System.out(383): lon: 0.0
11-02 23:12:12.673: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:12.673: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:12.673: INFO/System.out(383): character(): 0 -> 4
11-02 23:12:12.673: INFO/System.out(383): Nome: key --> Nome
11-02 23:12:12.673: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:12.673: INFO/System.out(383): character(): 0 -> 10
11-02 23:12:12.673: INFO/System.out(383): value: POITest222
11-02 23:12:12.673: INFO/System.out(383): Nome: POITest222
11-02 23:12:12.673: INFO/System.out(383): E' stato aperto getRangePoiReturn
11-02 23:12:12.673: INFO/System.out(383): PoiSaxHandler.startElement type
11-02 23:12:12.673: INFO/System.out(383): La variabile cicle vale: 4
11-02 23:12:12.673: INFO/System.out(383): E' stato creato un nuovo oggetto di tipo Poi: mieapplicazioni.Http.Poi@43f01be0
11-02 23:12:12.673: INFO/System.out(383): La variabile cicle vale: 5
11-02 23:12:12.690: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:12.690: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:12.690: INFO/System.out(383): character(): 0 -> 8
11-02 23:12:12.690: INFO/System.out(383): WikiLink: key --> WikiLink
11-02 23:12:12.700: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:12.700: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:12.700: INFO/System.out(383): value: 222
11-02 23:12:12.700: INFO/System.out(383): Wiki: 222
11-02 23:12:12.700: INFO/System.out(383): p.setWikilynk(sText)!
11-02 23:12:12.700: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:12.700: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:12.700: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:12.700: INFO/System.out(383): Alt: key --> Alt
11-02 23:12:12.700: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:12.700: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:12.700: INFO/System.out(383): value: 0.0
11-02 23:12:12.700: INFO/System.out(383): alt: 0.0
11-02 23:12:12.700: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:12.700: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:12.700: INFO/System.out(383): character(): 0 -> 9
11-02 23:12:12.700: INFO/System.out(383): Tipologia: key --> Tipologia
11-02 23:12:12.700: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:12.700: INFO/System.out(383): character(): 0 -> 1
11-02 23:12:12.700: INFO/System.out(383): value: 0
11-02 23:12:12.700: INFO/System.out(383): Tipologia: 0
11-02 23:12:12.750: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:12.750: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:12.750: INFO/System.out(383): character(): 0 -> 8
11-02 23:12:12.750: INFO/System.out(383): Distance: key --> Distance
11-02 23:12:12.750: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:12.750: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:12.750: INFO/System.out(383): value: 0.0
11-02 23:12:12.750: INFO/System.out(383): PoiId: 0.0
11-02 23:12:12.750: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:12.750: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:12.750: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:12.750: INFO/System.out(383): Lat: key --> Lat
11-02 23:12:12.750: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:12.750: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:12.750: INFO/System.out(383): value: 0.0
11-02 23:12:12.771: INFO/System.out(383): lat: 0.0
11-02 23:12:12.771: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:12.771: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:12.780: INFO/System.out(383): character(): 0 -> 2
11-02 23:12:12.780: INFO/System.out(383): Id: key --> Id
11-02 23:12:12.780: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:12.780: INFO/System.out(383): character(): 0 -> 2
11-02 23:12:12.780: INFO/System.out(383): value: 10
11-02 23:12:12.780: INFO/System.out(383): id: 10
11-02 23:12:12.780: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:12.830: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:12.830: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:12.830: INFO/System.out(383): Lon: key --> Lon
11-02 23:12:12.830: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:12.830: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:12.830: INFO/System.out(383): value: 0.0
11-02 23:12:12.830: INFO/System.out(383): lon: 0.0
11-02 23:12:12.830: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:12.830: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:12.830: INFO/System.out(383): character(): 0 -> 4
11-02 23:12:12.830: INFO/System.out(383): Nome: key --> Nome
11-02 23:12:12.830: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:12.830: INFO/System.out(383): character(): 0 -> 10
11-02 23:12:12.830: INFO/System.out(383): value: POITest222
11-02 23:12:12.830: INFO/System.out(383): Nome: POITest222
11-02 23:12:12.830: INFO/System.out(383): E' stato aperto getRangePoiReturn
11-02 23:12:12.830: INFO/System.out(383): PoiSaxHandler.startElement type
11-02 23:12:12.850: INFO/System.out(383): La variabile cicle vale: 5
11-02 23:12:12.850: INFO/System.out(383): E' stato creato un nuovo oggetto di tipo Poi: mieapplicazioni.Http.Poi@43e3a430
11-02 23:12:12.850: INFO/System.out(383): La variabile cicle vale: 6
11-02 23:12:12.850: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:12.850: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:12.850: INFO/System.out(383): character(): 0 -> 8
11-02 23:12:12.850: INFO/System.out(383): WikiLink: key --> WikiLink
11-02 23:12:12.850: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:12.860: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:12.860: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:12.860: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:12.860: INFO/System.out(383): Alt: key --> Alt
11-02 23:12:12.860: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:12.860: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:12.860: INFO/System.out(383): value: 0.0
11-02 23:12:12.860: INFO/System.out(383): alt: 0.0
11-02 23:12:12.860: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:12.860: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:12.860: INFO/System.out(383): character(): 0 -> 9
11-02 23:12:12.860: INFO/System.out(383): Tipologia: key --> Tipologia
11-02 23:12:12.860: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:12.860: INFO/System.out(383): character(): 0 -> 1
11-02 23:12:12.860: INFO/System.out(383): value: 0
11-02 23:12:12.860: INFO/System.out(383): Tipologia: 0
11-02 23:12:12.860: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:12.860: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:12.860: INFO/System.out(383): character(): 0 -> 8
11-02 23:12:12.920: INFO/System.out(383): Distance: key --> Distance
11-02 23:12:12.920: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:12.920: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:12.920: INFO/System.out(383): value: 0.0
11-02 23:12:12.920: INFO/System.out(383): Wiki: 0.0
11-02 23:12:12.920: INFO/System.out(383): p.setWikilynk(sText)!
11-02 23:12:12.920: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:12.920: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:12.920: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:12.920: INFO/System.out(383): Lat: key --> Lat
11-02 23:12:12.920: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:12.970: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:12.970: INFO/System.out(383): value: 0.0
11-02 23:12:12.970: INFO/System.out(383): lat: 0.0
11-02 23:12:12.970: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:12.970: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:12.970: INFO/System.out(383): character(): 0 -> 2
11-02 23:12:12.970: INFO/System.out(383): Id: key --> Id
11-02 23:12:12.970: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:12.970: INFO/System.out(383): character(): 0 -> 1
11-02 23:12:12.970: INFO/System.out(383): value: 9
11-02 23:12:12.970: INFO/System.out(383): id: 9
11-02 23:12:12.991: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:12.991: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:12.991: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:12.991: INFO/System.out(383): Lon: key --> Lon
11-02 23:12:12.991: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:13.001: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:13.001: INFO/System.out(383): value: 0.0
11-02 23:12:13.001: INFO/System.out(383): lon: 0.0
11-02 23:12:13.001: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:13.001: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:13.001: INFO/System.out(383): character(): 0 -> 4
11-02 23:12:13.041: INFO/System.out(383): Nome: key --> Nome
11-02 23:12:13.041: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:13.041: INFO/System.out(383): character(): 0 -> 4
11-02 23:12:13.041: INFO/System.out(383): value: dfdf
11-02 23:12:13.041: INFO/System.out(383): Nome: dfdf
11-02 23:12:13.041: INFO/System.out(383): E' stato aperto getRangePoiReturn
11-02 23:12:13.041: INFO/System.out(383): PoiSaxHandler.startElement type
11-02 23:12:13.041: INFO/System.out(383): La variabile cicle vale: 6
11-02 23:12:13.041: INFO/System.out(383): E' stato creato un nuovo oggetto di tipo Poi: mieapplicazioni.Http.Poi@43eb96a0
11-02 23:12:13.041: INFO/System.out(383): La variabile cicle vale: 7
11-02 23:12:13.041: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:13.041: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:13.041: INFO/System.out(383): character(): 0 -> 8
11-02 23:12:13.041: INFO/System.out(383): WikiLink: key --> WikiLink
11-02 23:12:13.041: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:13.041: INFO/System.out(383): character(): 0 -> 5
11-02 23:12:13.041: INFO/System.out(383): value: fdfda
11-02 23:12:13.081: INFO/System.out(383): Wiki: fdfda
11-02 23:12:13.081: INFO/System.out(383): p.setWikilynk(sText)!
11-02 23:12:13.081: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:13.081: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:13.081: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:13.081: INFO/System.out(383): Alt: key --> Alt
11-02 23:12:13.081: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:13.081: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:13.081: INFO/System.out(383): value: 0.0
11-02 23:12:13.081: INFO/System.out(383): alt: 0.0
11-02 23:12:13.081: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:13.081: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:13.111: INFO/System.out(383): character(): 0 -> 9
11-02 23:12:13.111: INFO/System.out(383): Tipologia: key --> Tipologia
11-02 23:12:13.111: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:13.111: INFO/System.out(383): character(): 0 -> 1
11-02 23:12:13.111: INFO/System.out(383): value: 0
11-02 23:12:13.111: INFO/System.out(383): Tipologia: 0
11-02 23:12:13.111: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:13.111: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:13.111: INFO/System.out(383): character(): 0 -> 8
11-02 23:12:13.111: INFO/System.out(383): Distance: key --> Distance
11-02 23:12:13.111: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:13.111: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:13.111: INFO/System.out(383): value: 0.0
11-02 23:12:13.111: INFO/System.out(383): PoiId: 0.0
11-02 23:12:13.111: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:13.111: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:13.151: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:13.151: INFO/System.out(383): Lat: key --> Lat
11-02 23:12:13.151: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:13.151: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:13.151: INFO/System.out(383): value: 0.0
11-02 23:12:13.151: INFO/System.out(383): lat: 0.0
11-02 23:12:13.151: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:13.151: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:13.151: INFO/System.out(383): character(): 0 -> 2
11-02 23:12:13.151: INFO/System.out(383): Id: key --> Id
11-02 23:12:13.161: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:13.161: INFO/System.out(383): character(): 0 -> 1
11-02 23:12:13.161: INFO/System.out(383): value: 8
11-02 23:12:13.161: INFO/System.out(383): id: 8
11-02 23:12:13.161: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:13.161: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:13.161: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:13.161: INFO/System.out(383): Lon: key --> Lon
11-02 23:12:13.161: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:13.161: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:13.161: INFO/System.out(383): value: 0.0
11-02 23:12:13.161: INFO/System.out(383): lon: 0.0
11-02 23:12:13.161: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:13.161: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:13.161: INFO/System.out(383): character(): 0 -> 4
11-02 23:12:13.161: INFO/System.out(383): Nome: key --> Nome
11-02 23:12:13.161: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:13.161: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:13.171: INFO/System.out(383): value: dfd
11-02 23:12:13.210: INFO/System.out(383): Nome: dfd
11-02 23:12:13.210: INFO/System.out(383): E' stato aperto getRangePoiReturn
11-02 23:12:13.210: INFO/System.out(383): PoiSaxHandler.startElement type
11-02 23:12:13.210: INFO/System.out(383): La variabile cicle vale: 7
11-02 23:12:13.220: INFO/System.out(383): E' stato creato un nuovo oggetto di tipo Poi: mieapplicazioni.Http.Poi@43e5bca8
11-02 23:12:13.220: INFO/System.out(383): La variabile cicle vale: 8
11-02 23:12:13.220: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:13.220: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:13.220: INFO/System.out(383): character(): 0 -> 8
11-02 23:12:13.220: INFO/System.out(383): WikiLink: key --> WikiLink
11-02 23:12:13.220: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:13.220: INFO/System.out(383): character(): 0 -> 8
11-02 23:12:13.220: INFO/System.out(383): value: dsfdsfsd
11-02 23:12:13.220: INFO/System.out(383): Wiki: dsfdsfsd
11-02 23:12:13.220: INFO/System.out(383): p.setWikilynk(sText)!
11-02 23:12:13.220: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:13.220: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:13.220: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:13.220: INFO/System.out(383): Alt: key --> Alt
11-02 23:12:13.220: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:13.220: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:13.220: INFO/System.out(383): value: 0.0
11-02 23:12:13.280: INFO/System.out(383): alt: 0.0
11-02 23:12:13.280: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:13.280: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:13.280: INFO/System.out(383): character(): 0 -> 9
11-02 23:12:13.280: INFO/System.out(383): Tipologia: key --> Tipologia
11-02 23:12:13.280: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:13.280: INFO/System.out(383): character(): 0 -> 1
11-02 23:12:13.280: INFO/System.out(383): value: 0
11-02 23:12:13.290: INFO/System.out(383): Tipologia: 0
11-02 23:12:13.290: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:13.300: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:13.300: INFO/System.out(383): character(): 0 -> 8
11-02 23:12:13.300: INFO/System.out(383): Distance: key --> Distance
11-02 23:12:13.300: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:13.300: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:13.300: INFO/System.out(383): value: 0.0
11-02 23:12:13.300: INFO/System.out(383): PoiId: 0.0
11-02 23:12:13.300: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:13.300: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:13.300: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:13.300: INFO/System.out(383): Lat: key --> Lat
11-02 23:12:13.300: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:13.300: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:13.300: INFO/System.out(383): value: 0.0
11-02 23:12:13.300: INFO/System.out(383): lat: 0.0
11-02 23:12:13.300: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:13.300: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:13.300: INFO/System.out(383): character(): 0 -> 2
11-02 23:12:13.300: INFO/System.out(383): Id: key --> Id
11-02 23:12:13.300: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:13.350: INFO/System.out(383): character(): 0 -> 1
11-02 23:12:13.350: INFO/System.out(383): value: 7
11-02 23:12:13.350: INFO/System.out(383): id: 7
11-02 23:12:13.350: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:13.350: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:13.350: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:13.350: INFO/System.out(383): Lon: key --> Lon
11-02 23:12:13.350: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:13.350: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:13.350: INFO/System.out(383): value: 0.0
11-02 23:12:13.350: INFO/System.out(383): lon: 0.0
11-02 23:12:13.350: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:13.350: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:13.350: INFO/System.out(383): character(): 0 -> 4
11-02 23:12:13.350: INFO/System.out(383): Nome: key --> Nome
11-02 23:12:13.350: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:13.350: INFO/System.out(383): character(): 0 -> 9
11-02 23:12:13.350: INFO/System.out(383): value: TEST NAME
11-02 23:12:13.350: INFO/System.out(383): Nome: TEST NAME
11-02 23:12:13.350: INFO/System.out(383): E' stato aperto getRangePoiReturn
11-02 23:12:13.350: INFO/System.out(383): PoiSaxHandler.startElement type
11-02 23:12:13.380: INFO/System.out(383): La variabile cicle vale: 8
11-02 23:12:13.380: INFO/System.out(383): E' stato creato un nuovo oggetto di tipo Poi: mieapplicazioni.Http.Poi@43f37008
11-02 23:12:13.380: INFO/System.out(383): La variabile cicle vale: 9
11-02 23:12:13.380: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:13.380: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:13.380: INFO/System.out(383): character(): 0 -> 8
11-02 23:12:13.380: INFO/System.out(383): WikiLink: key --> WikiLink
11-02 23:12:13.430: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:13.430: INFO/System.out(383): character(): 0 -> 6
11-02 23:12:13.430: INFO/System.out(383): value: bububb
11-02 23:12:13.430: INFO/System.out(383): Wiki: bububb
11-02 23:12:13.430: INFO/System.out(383): p.setWikilynk(sText)!
11-02 23:12:13.430: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:13.430: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:13.430: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:13.430: INFO/System.out(383): Alt: key --> Alt
11-02 23:12:13.430: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:13.430: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:13.430: INFO/System.out(383): value: 0.0
11-02 23:12:13.430: INFO/System.out(383): alt: 0.0
11-02 23:12:13.440: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:13.440: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:13.440: INFO/System.out(383): character(): 0 -> 9
11-02 23:12:13.440: INFO/System.out(383): Tipologia: key --> Tipologia
11-02 23:12:13.440: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:13.440: INFO/System.out(383): character(): 0 -> 1
11-02 23:12:13.440: INFO/System.out(383): value: 0
11-02 23:12:13.440: INFO/System.out(383): Tipologia: 0
11-02 23:12:13.440: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:13.440: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:13.440: INFO/System.out(383): character(): 0 -> 8
11-02 23:12:13.440: INFO/System.out(383): Distance: key --> Distance
11-02 23:12:13.440: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:13.440: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:13.440: INFO/System.out(383): value: 0.0
11-02 23:12:13.440: INFO/System.out(383): PoiId: 0.0
11-02 23:12:13.440: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:13.440: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:13.440: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:13.440: INFO/System.out(383): Lat: key --> Lat
11-02 23:12:13.440: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:13.450: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:13.480: INFO/System.out(383): value: 0.0
11-02 23:12:13.480: INFO/System.out(383): lat: 0.0
11-02 23:12:13.480: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:13.480: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:13.480: INFO/System.out(383): character(): 0 -> 2
11-02 23:12:13.490: INFO/System.out(383): Id: key --> Id
11-02 23:12:13.490: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:13.490: INFO/System.out(383): character(): 0 -> 1
11-02 23:12:13.490: INFO/System.out(383): value: 4
11-02 23:12:13.490: INFO/System.out(383): id: 4
11-02 23:12:13.490: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:13.490: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:13.490: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:13.490: INFO/System.out(383): Lon: key --> Lon
11-02 23:12:13.490: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:13.490: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:13.490: INFO/System.out(383): value: 0.0
11-02 23:12:13.490: INFO/System.out(383): lon: 0.0
11-02 23:12:13.560: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:13.560: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:13.560: INFO/System.out(383): character(): 0 -> 4
11-02 23:12:13.560: INFO/System.out(383): Nome: key --> Nome
11-02 23:12:13.560: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:13.560: INFO/System.out(383): character(): 0 -> 4
11-02 23:12:13.560: INFO/System.out(383): value: bubu
11-02 23:12:13.560: INFO/System.out(383): Nome: bubu
11-02 23:12:13.560: INFO/System.out(383): E' stato aperto getRangePoiReturn
11-02 23:12:13.560: INFO/System.out(383): PoiSaxHandler.startElement type
11-02 23:12:13.560: INFO/System.out(383): La variabile cicle vale: 9
11-02 23:12:13.560: INFO/System.out(383): E' stato creato un nuovo oggetto di tipo Poi: mieapplicazioni.Http.Poi@43f34f40
11-02 23:12:13.560: INFO/System.out(383): La variabile cicle vale: 10
11-02 23:12:13.560: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:13.560: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:13.560: INFO/System.out(383): character(): 0 -> 8
11-02 23:12:13.560: INFO/System.out(383): WikiLink: key --> WikiLink
11-02 23:12:13.590: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:13.590: INFO/System.out(383): character(): 0 -> 4
11-02 23:12:13.590: INFO/System.out(383): value: fdfd
11-02 23:12:13.590: INFO/System.out(383): Wiki: fdfd
11-02 23:12:13.590: INFO/System.out(383): p.setWikilynk(sText)!
11-02 23:12:13.590: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:13.590: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:13.590: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:13.590: INFO/System.out(383): Alt: key --> Alt
11-02 23:12:13.590: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:13.590: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:13.640: INFO/System.out(383): value: 0.0
11-02 23:12:13.640: INFO/System.out(383): alt: 0.0
11-02 23:12:13.660: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:13.670: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:13.670: INFO/System.out(383): character(): 0 -> 9
11-02 23:12:13.670: INFO/System.out(383): Tipologia: key --> Tipologia
11-02 23:12:13.670: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:13.670: INFO/System.out(383): character(): 0 -> 1
11-02 23:12:13.670: INFO/System.out(383): value: 0
11-02 23:12:13.670: INFO/System.out(383): Tipologia: 0
11-02 23:12:13.670: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:13.670: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:13.670: INFO/System.out(383): character(): 0 -> 8
11-02 23:12:13.670: INFO/System.out(383): Distance: key --> Distance
11-02 23:12:13.670: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:13.670: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:13.670: INFO/System.out(383): value: 0.0
11-02 23:12:13.670: INFO/System.out(383): PoiId: 0.0
11-02 23:12:13.670: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:13.670: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:13.670: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:13.670: INFO/System.out(383): Lat: key --> Lat
11-02 23:12:13.670: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:13.670: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:13.670: INFO/System.out(383): value: 0.0
11-02 23:12:13.740: INFO/System.out(383): lat: 0.0
11-02 23:12:13.740: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:13.740: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:13.740: INFO/System.out(383): character(): 0 -> 2
11-02 23:12:13.740: INFO/System.out(383): Id: key --> Id
11-02 23:12:13.740: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:13.740: INFO/System.out(383): character(): 0 -> 2
11-02 23:12:13.740: INFO/System.out(383): value: 15
11-02 23:12:13.740: INFO/System.out(383): id: 15
11-02 23:12:13.740: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:13.740: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:13.740: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:13.740: INFO/System.out(383): Lon: key --> Lon
11-02 23:12:13.750: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:13.750: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:13.750: INFO/System.out(383): value: 0.0
11-02 23:12:13.750: INFO/System.out(383): lon: 0.0
11-02 23:12:13.750: INFO/System.out(383): E' stato aperto il tag: item
11-02 23:12:13.750: INFO/System.out(383): E' stato aperto il tag: key
11-02 23:12:13.750: INFO/System.out(383): character(): 0 -> 4
11-02 23:12:13.750: INFO/System.out(383): Nome: key --> Nome
11-02 23:12:13.760: INFO/System.out(383): E' stato aperto il tag: value
11-02 23:12:13.760: INFO/System.out(383): character(): 0 -> 3
11-02 23:12:13.760: INFO/System.out(383): value: fdf
11-02 23:12:13.760: INFO/System.out(383): Nome: fdf
11-02 23:12:13.760: INFO/System.out(383): Document processing finished
11-02 23:12:13.760: INFO/System.out(383): L'oggetto p fÃ* riferimento a[mieapplicazioni.Http.Poi@43f009d8, mieapplicazioni.Http.Poi@43e3f670, mieapplicazioni.Http.Poi@43e4eea0, mieapplicazioni.Http.Poi@43edb478, mieapplicazioni.Http.Poi@43f01be0, mieapplicazioni.Http.Poi@43e3a430, mieapplicazioni.Http.Poi@43eb96a0, mieapplicazioni.Http.Poi@43e5bca8, mieapplicazioni.Http.Poi@43f37008, mieapplicazioni.Http.Poi@43f34f40]
11-02 23:12:13.760: DEBUG/Passo al parser l'oggetto is che è:(383): org.xml.sax.InputSource@43efd530
11-02 23:12:13.760: DEBUG/Passo al pareser l'oggetto handler che è:(383): mieapplicazioni.Http.PoiSaxHandler@43f19248
11-02 23:12:13.760: INFO/System.out(383): Eccezione -> java.lang.NullPointerException



In pratica ho messo un System.out nel metodo endDocument() che mi stampa l'indirizzo a cui punta all'oggetto pois (che è la lista di Poi creata) e mi pare che ne visualizzi gli indirizzi in memoria dei singoli oggetti Poi al suo interno, è corretta la mia supposizione?

Però poi non capisco perchè nella sezione dei Log alla fine mi dà quelle linee e quell'eccezione (che credo siano riferite alla classe GuidaSubActivity), mi riferisco a:


11-02 23:12:13.760: DEBUG/Passo al parser l'oggetto is che è:(383): org.xml.sax.InputSource@43efd530
11-02 23:12:13.760: DEBUG/Passo al pareser l'oggetto handler che è:(383): mieapplicazioni.Http.PoiSaxHandler@43f19248
11-02 23:12:13.760: INFO/System.out(383): Eccezione -> java.lang.NullPointerException


Vabbè comunque ora in teoria nella classe dell'handler dovrei avere la mia bella lista di Poi dove ogni oggetto Poi contiene le info prese dall'XML e dovrei poter restituire tale lista di Poi al chiamante tramite il metodo: public List<Poi> getPois() giusto?

Grazie mille per tutto, spero di aver risolto...spero ma ancora non voglio essere troppo ottimista

e-commerce84
03-11-2010, 00:30
ok...quelle ultime cose strane che mi comparivano erano cose stupidissime presenti in GuidaSubActivity di altre variabili di prova che gli facevo ritornare !!! Ora riesco a fargli ritornare la lista di poi !!!

domani controllo bene se dentro la lista di poi c'è tutto come si deve e ti faccio sapere !!!

Comunque sei stato iper prezioso ed iper gentile !!! Cazzarola grazie di tutto !!! E se passi per Roma ti devo una pizza :D

Ti faccio sapere se poi è tutto ok

Grazie mille

Gimli[2BV!2B]
03-11-2010, 00:46
Finalmente macina tutto l'XML? Bene!

Prego! Roma mi sta un pelino fuori mano :), ma son contento che funzioni e spero di averti fornito qualche spunto utile.

e-commerce84
03-11-2010, 01:31
;33539108']Finalmente macina tutto l'XML? Bene!

Prego! Roma mi sta un pelino fuori mano :), ma son contento che funzioni e spero di averti fornito qualche spunto utile.

A quanto pare macina macina...ho provato a fargli stampare i dati dei vari campi all'interno dei primi 2-3 oggetti Poi della lista e sembrano essere perfetti !!! Ora tocca farli visualizzare sulla Google Maps nell'applicazione Android ed il nostro progetto dovrebbe essere arrivato alla fine !!! Vabbè farli visualizzare sulla Google Maps dovrebbe essere una cavolata che si fà con delle apposite API !!!

Grazie infinite !!! Sei stato veramente gentilissimo ed iper prezioso !!!

Volevo chiederti una cosa: questo progetto è stato massacrante perchè a lezione non ci hanno fatto vedere nulla di concreto: ci hanno illustrato a grandi linee cosa fosse Spring ed Hibernate (ma proprio a grandi linee...tipo in 2 ore doh) e per quanto riguarda i web service si trattava di 2 slide teoriche (DOH), i parser XML MAI NEANCHE ACCENNATI...tutto ciò ha reso lo studio molto lento e difficoltoso (reperire informazioni sulle guide online, forum, amici) e spesso a dir poco frustrante...del tipo: "Basta non voglio mai più programmare in vita mia, sono impedito"...

Hai qualche consiglio da darmi per imparare in maniera più organizzata?

Per esempio c'è qualche testo ben fatto che spiega in maniera seria, chiara e sistematica argomenti come la realizzazione di un Web Service o argomenti come i Parser XML? Perchè penso che un conto sia impazzire a reperire la documentazione online, tutorial (che spesso sono anche errati), etcetc...altro conto è avere un libro che spiega bene ed in modo preciso e sistematico !!!

Altra cosa...a breve dovrei chiedere uno stage in qualche azienda: che tu sappia come funziona la cosa? Sei affiancato da una persona esperta che ti spiega come si fà il lavoro o c'è il rischio di essere abbandonato ad impazzire?

Grazie mille

Gimli[2BV!2B]
03-11-2010, 02:10
Hai qualche consiglio da darmi per imparare in maniera più organizzata?
No, mi dispiace. Purtroppo non ho una gran formazione né su Java né su XML, ed ho solo sentito nominare i vari Hibernate & co che hai citato.
Io sono principalmente autodidatta (ho fatto la triennale in Ing. Inf., ma lì la programmazione la sono proprio andata a cercare io coi corsi a scelta :asd:).

Lo stage. Io ho fatto un paio di stage, però ero alle superiori e si è trattato di lavoretti da tecnico in un caso (piccola azienda: installa Win98, installa antivirus, ecc...), e completa libertà nell'altro (grossa azienda: quì c'è il pc, noi programmiamo con questo linguaggio, bla, bla, prova ad usarlo).

Dove lavoro ho avuto a che fare con laureandi non di campo informatico e si son trovati bene (azienda media), erano abbastanza seguiti.