Parsing af xml-fil
Jeg prøver at parse en xml-fil fra den europæiske centralbank website. Mit problem er at jeg ikke kan oprette en forbindelse til xml-filen. Jeg får følgende fejlkode:java.security.AccessControlException: access denied (java.net.SocketPermission www.ecb.int resolve)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:270)
at java.security.AccessController.checkPermission(AccessController.java:401)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:542)
at java.lang.SecurityManager.checkConnect(SecurityManager.java:1042)
at java.net.InetAddress.getAllByName0(InetAddress.java:937)
at java.net.InetAddress.getAllByName0(InetAddress.java:918)
at java.net.InetAddress.getAllByName(InetAddress.java:912)
at java.net.InetAddress.getByName(InetAddress.java:832)
at sun.net.www.http.HttpClient.<init>(HttpClient.java:293)
at sun.net.www.http.HttpClient.<init>(HttpClient.java:264)
at sun.net.www.http.HttpClient.New(HttpClient.java:336)
at sun.net.www.http.HttpClient.New(HttpClient.java:317)
at sun.net.www.http.HttpClient.New(HttpClient.java:312)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:481)
at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:472)
at ReadExchangeRates.process(ReadExchangeRates.java:30)
at CurrencyApplet.init(CurrencyApplet.java:27)
at sun.applet.AppletPanel.run(AppletPanel.java:348)
at java.lang.Thread.run(Thread.java:536)
Jeg har benyttet mig af følgende kode:
public void process() {
try {
SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser parser = spf.newSAXParser();
CurrencySAXHandler handler = new CurrencySAXHandler();
URL url = new URL("http://www.ecb.int/stats/eurofxref/eurofxref-daily.xml");
HttpURLConnection con = (HttpURLConnection)url.openConnection();
con.connect();
if(con.getResponseCode() == HttpURLConnection.HTTP_OK) {
InputStream is = con.getInputStream();
parser.parse(is, handler);
xrates = handler.getXRates();
time = handler.getTime();
}
}
catch (MalformedURLException e) { e.printStackTrace(); }
catch (SAXException e) { e.printStackTrace(); }
catch (ParserConfigurationException e) { e.printStackTrace(); }
catch (IOException e) { e.printStackTrace(); }
}
Håber i kan hjælpe.
