Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2001
    Messaggi
    11

    XML SAX & attributi non consistenti

    Ciao a tutti,
    ho ripreso da poco il linguaggio java. Mi trovo di fronte a qualcosa di inspiegabile (per me..
    Ho una classe che ha al suo interno un attributo privato. Modifico tale attributo in un metodo, poi all'interno di un altro metodo tale attributo non ha piu valore (è null). Mi spiego meglio:



    public class XMLprocessing extends DefaultHandler
    {
    private DefaultHandler handler;
    private String attribute_value;
    ....
    public void metodo1(){
    attribute_value = "pippo";
    saxParser = factory.newSAXParser();
    saxParser.parse( new File(xmlFilePath), handler);
    ...
    }

    public void startElement(String namespaceURI,
    String lName, // local name
    String qName, // qualified name
    Attributes attrs)
    throws SAXException
    {
    System.out.println(attribute_value);
    ...
    }
    }

    Viene richiamato prima metodo1, che poi lancia il parser del documento xml.
    Praticamente il metodo startDocument viene richiamato dal metodo parser durante il processamento del file xml, ma la system out mi restituisce null.
    Il problema non si presenta se definisco "static" la variabile in questione.
    Anyone could help me?
    Grazie dell'attenzione.
    -Luca-

    Se il tempo è una realtà che fluisce, fluisce nel tempo? Oppure il tempo misura il fluire?

  2. #2
    Dalla tua descrizione sembrerebbe che le due chiamate vengano effettuate su istanze diverse della classe. Sei sicuro di chiamare i due metodi sulla stessa istanza di XMLprocessing?

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2001
    Messaggi
    11
    ciao interarete,
    in effetti hai ragione: come prova, ho stampato "this" prima da metodo1 e poi da startElement, e i risultati sono differenti.
    Ho capito qual è il problema: in realtà, al metodo parser passo l'oggetto handler, che è del tipo XMLProcessing ma è un altro oggetto. Procedo passandogli "this", non dovrei trovare problemi particolari (se qualcuno ha esperienza in ambito SAX magari mi sa dire se è il modo giusto di procedere).
    Grazie mille per la dritta!
    -Luca-

    Se il tempo è una realtà che fluisce, fluisce nel tempo? Oppure il tempo misura il fluire?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.