Wczytywanie pliku XML z adresuURL

0

Witam
Chcę wczytać plik XML z adresu URL. Przy kompilacji wywala błąd. Co robię źle? Proszę o wyrozumiałość, jestem początkujący :).

Exception in thread "main" java.lang.NullPointerException

Kod odpowiedzialny za wczytywanie pliku:

factory = DocumentBuilderFactory.newInstance();
	builder = factory.newDocumentBuilder();
		for(int i=1; i<=3; i++)
		{		
			
			strona = "http://nbp.pl/kursy/xml/Last" + mapa.get(i) + ".xml";
			
			Document doc = builder.parse(new URL(strona).openStream());
			System.out.println(doc);
			new WczytywanieDanych(doc);
		}
0

Na której linii / liniach masz NPE? Czy i-ty element mapy nie jest nullem? Czy adres strony jest prawidłowy?

0

Strona nie jest nullem. Jak dam komende println to normalnie wypisuje działający adres strony. NPE mam w innej klasie wykorzystującej ten XML, ale kiedy używam komendy println jak w kodzie wyzej to wypisuje referencje:
[#document: null]

Klasa, w której jest NPE

public class WczytywanieDanych 
{
	.	//deklaracje zmiennych
	.
	.
	public WczytywanieDanych(Document doc) 
	{
		docXML = doc;
		Element element_tabelaKursow = docXML.getDocumentElement();
		System.out.println(docXML.toString());
		System.out.println(element_tabelaKursow.toString());

		
		sprawdzanieIlosciElementow_pozycja();
	}
	
	private static void sprawdzanieIlosciElementow_pozycja()
	{
		//sprawdzanie <pozycja>
		NodeList elementy_pozycja = element_tabelaKursow.getChildNodes(); //tu jest NPE
		for(int a = 0; a < elementy_pozycja.getLength(); a++)
		{
			element_pozycja = elementy_pozycja.item(a);
		
			if(element_pozycja instanceof Element)
			{
				wczytywanieElementu_pozycja(element_pozycja);
			}
		}

	}
	.
	. //inne metody
	.
}

odswiezam

0

Zdradź co się kryje w zmiennej mapa (chociaż jeden element, np. mapa.get(0)).

0
	static Map<Integer, Character> mapa = new HashMap<Integer, Character>();
	mapa.put(1, 'A');
	mapa.put(2, 'B');
	mapa.put(3, 'C');

Mapa zawiera litery A, B, C potrzebne do stworzenia 3 linkow, poniewaz wszystkie waluty zapisane sa w trzech plikach xml.

2

"Element element_tabelaKursow" masz zadeklarowane zarówno, w klasie WczytywanieDanych, jak i w konstruktorze w tej klasie.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.