Nie mogę pobrać danych do parsowania

0

Nie mogę pobrać danych do parsowania

    public static void parserXml() throws IOException, ParserConfigurationException, SAXException {

        String nazwa_waluty = null;
        int przelicznik = 0;

        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
        DocumentBuilder builder = factory.newDocumentBuilder();
        Document doc = builder.parse("http://api.nbp.pl/api/exchangerates/rates/C/EUR/2013-01-28/2013-01-31/");



        Element root =  doc.getDocumentElement();
        System.out.println("Root " + root);
[Fatal Error] :1:1: Content is not allowed in prolog.
Exception in thread "main" org.xml.sax.SAXParseException; systemId: http://api.nbp.pl/api/exchangerates/rates/C/EUR/2013-01-28/2013-01-31/; lineNumber: 1; columnNumber: 1; Content is not allowed in prolog.
	at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:257)
	at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:339)
	at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:177)
	at pl.parser.nbp.Pareser.parserXml(Pareser.java:30)
	at pl.parser.nbp.MainClass.main(MainClass.java:16)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:497)
	at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147) 
0

Dodaj ?format=xml do linku

Document doc = builder.parse("http://api.nbp.pl/api/exchangerates/rates/C/EUR/2013-01-28/2013-01-31/?format=xml");

Jak zrobisz

curl http://api.nbp.pl/api/exchangerates/rates/C/EUR/2013-01-28/2013-01-31/

Zobaczysz, że te dane to JSON, tylko przeglądarka interpretuje (wyświetla) jako XML.

1 użytkowników online, w tym zalogowanych: 0, gości: 1