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?
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.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?
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.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
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...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.
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?
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);
}
}
Beh ma scusa ... consulta la documentazione delle API di Java ... ci sono delle eccezioni checked che vanno catturate/gestite.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
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.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
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) {
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.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet