Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [Java] Leggere un file xml remoto

    In pratica dovrei leggere un xml e poi inserire tutti i dati in una Table.
    Quindi non sò se sia meglio SAX o DOM.

    Cmq sia quale codice devo scrivere e quali package importare?

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: [Java] Leggere un file xml remoto

    Originariamente inviato da leonapster
    In pratica dovrei leggere un xml e poi inserire tutti i dati in una Table.
    Quindi non sò se sia meglio SAX o DOM.

    Cmq sia quale codice devo scrivere e quali package importare?
    SAX e DOM sono due tecniche di parsing che sono diametralmente opposte. SAX invia degli "eventi" alla applicazione, DOM fornisce alla applicazione un intero albero di "nodi" in cui si può "navigare" nei vari rami.

    Se usare una o l'altra, dipende principalmente da come è strutturato il file XML e da come devi estrarre le informazioni.

    Riguardo a SAX tramite le API JAXP, avevo fatto un esempio basilare/minimale in questa discussione.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3

    Re: Re: [Java] Leggere un file xml remoto

    Originariamente inviato da andbin
    SAX e DOM sono due tecniche di parsing che sono diametralmente opposte. SAX invia degli "eventi" alla applicazione, DOM fornisce alla applicazione un intero albero di "nodi" in cui si può "navigare" nei vari rami.

    Se usare una o l'altra, dipende principalmente da come è strutturato il file XML e da come devi estrarre le informazioni.

    Riguardo a SAX tramite le API JAXP, avevo fatto un esempio basilare/minimale in questa discussione.
    in tal caso credo che dovrò usare DOM. Nella rete non sono riuscito a trovare il modo di aprire un file da uri, tutti da file locale...

    Finora ho fatto questo:


    import javax.xml.parsers.*;
    import org.w3c.dom.*;


    public class AnalisiDOM {

    private Document d;
    private Element r;

    public AnalisiDOM(String file) {

    DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
    DocumentBuilder domParser = dbf.newDocumentBuilder();


    }

    }


    Ora come gli dico l'url del file xml?

  4. #4
    Ho fatto così:

    Ma ottengo :

    \AnalisiDOM.java:17: unreported exception javax.xml.parsers.ParserConfigurationException; must be caught or declared to be thrown

    \AnalisiDOM.java:18: unreported exception org.xml.sax.SAXException; must be caught or declared to be thrown


    Codice PHP:
    import javax.xml.parsers.*;
    import org.w3c.dom.*;



          

    public class 
    AnalisiDOM {
        


    public 
    AnalisiDOM(String file) {
       
     
         
    file "http://www.repubblica.it/rss/cronaca/rss2.0.xml";
        
         
    DocumentBuilderFactory docBuilderFactory DocumentBuilderFactory.newInstance();
         
    DocumentBuilder docBuilder docBuilderFactory.newDocumentBuilder();     
         
    Document xdoc docBuilder.parse (file);
                



  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da leonapster
    \AnalisiDOM.java:17: unreported exception javax.xml.parsers.ParserConfigurationException; must be caught or declared to be thrown

    \AnalisiDOM.java:18: unreported exception org.xml.sax.SAXException; must be caught or declared to be thrown
    Beh ma scusa ... consulta la documentazione delle API di Java ... ci sono delle eccezioni checked che vanno catturate/gestite.

    In quella discussione in cui ho fatto l'esempio con SAX, vedi bene che load() dichiara delle eccezioni e che le ho catturate/gestite nel main().
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  6. #6
    Fatto così

    Codice PHP:
     DocumentBuilderFactory docBuilderFactory DocumentBuilderFactory.newInstance();
            
    DocumentBuilder docBuilder;
            try {
                
    docBuilder docBuilderFactory.newDocumentBuilder();
            } catch (
    ParserConfigurationException e) {
                
    // TODO
            
    }
            
    Document xdoc;
            try {
                
    xdoc docBuilder.parse ("");
            } catch (
    SAXException e) {
                
    // TODO
            
    } catch (IOException e) {
                
    // TODO
            


    Ma per SAXException e IOException mi dice

    \AnalisiDOM.java:25: cannot find symbol

    symbol : class SAXException
    location: class AnalisiDOM
    } catch (SAXException e) {

  7. #7
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Ripeto, consulta la documentazione delle API di Java per sapere quali metodi usare, quali eccezioni gestire e quali classi importare.

    Se non ti sono chiari i concetti generali sulle eccezioni e non consulti la documentazione, non è che si va molto lontano .....
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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.