View Full Version : [Java] Leggere un file xml remoto
leonapster
15-02-2008, 12:41
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?
1 piccolo consiglio: se il file può essere molto grande vai con SAX ;)
leonapster
15-02-2008, 13:19
no, il file dovrebbe essere abbastanza piccolo (max 100 righe)
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?
il file dovrebbe essere abbastanza piccolo (max 100 righe)
DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();
Document xdoc = docBuilder.parse (file);
leonapster
15-02-2008, 13:28
i package sono
import javax.xml.parsers.*;
import org.w3c.dom.*;
import org.w3c.dom.Document;
?
si import javax.xml.parsers.*;
import org.w3c.dom.*;
leonapster
15-02-2008, 13:32
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
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);
}
}
no, il file dovrebbe essere abbastanza piccolo (max 100 righe)
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?
Prova con http://java.sun.com/javase/6/docs/api/javax/xml/parsers/DocumentBuilder.html#parse(java.lang.String)
oppure tramite http://java.sun.com/javase/6/docs/api/java/net/URL.html#openStream()
perche e definito 2 volte
la prima qui
public AnalisiDOM(String file) {
e la sconda qui
String file = "http://www.repubblica.it/rss/cronaca/rss2.0.xmll";
devi gestire questi errori ParserConfigurationException , IOException, SAXException , ParseException
ma nn usi un ide ?
leonapster
15-02-2008, 13:42
devi gestire questi errori ParserConfigurationException , IOException, SAXException , ParseException
ma nn usi un ide ?
si uso NetBeans 6.1
cmq , le gestione e + o - cosi 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
}
leonapster
15-02-2008, 13:52
cmq , le gestione e + o - cosi 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
}
Scusa ancora... Ma per SAXException e IOException mi dice
\AnalisiDOM.java:25: cannot find symbol
symbol : class SAXException
location: class AnalisiDOM
} catch (SAXException e) {
e che ne so , la devi importare , cmq io ho creato un nuovo progetto con questa classe e compilla
package biz.vladix;
import java.io.IOException;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.w3c.dom.Document;
import org.xml.sax.SAXException;
/**
*
* @author Vladix
*/
public class Main {
{
DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = null;
try {
docBuilder = docBuilderFactory.newDocumentBuilder();
} catch (ParserConfigurationException e) {
// TODO
}
Document xdoc;
try {
xdoc = (Document) docBuilder.parse ("");
} catch (SAXException e) {
// TODO
} catch (IOException e) {
// TODO
}
}
}
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.