LordNikkon
Mitglied
Hi,
ich habe ein Programm geschrieben, welches mir Produkte incl. Staffelpreise etc. anzeigt und zusätzlich eine Suche ermöglicht.
Die Artikel habe ich als XML-Datei vorliegen (SAP-Export). Bisher habe ich immer nur Testweise bestimmte Kataloge verwendet und hatte somit ein ca. 3MB großes XML-File. Jetzt nachdem das Prog fertig ist habe ich alle Artikel geladen und habe jetzt ca 20Mb.
Ich parse das XML-File beim Start des Programms mithilfe von JDOM und lese diese in unterschiedliche Beans ein.
Leider killen die 20MB nun mein System, bekomme die Exception Java.lang.OutOfMemoryError wenn ich mit Hilfe des SAXBuilder die Methode build("XML-File") aufrufe.
Hoffe mir kann jmd ein Tipp geben wie ich das XML-File besser parsen kann?
im vorraus vielen Dank!
Gruß
l|N
Edit:
Habe es einmal so
und einmal so probiert
Beides hat leider nichts gebracht, wobei beim 2. der BufferedReader einwandfrei durchläuft aber der der builder dann abschmiert.
ich habe ein Programm geschrieben, welches mir Produkte incl. Staffelpreise etc. anzeigt und zusätzlich eine Suche ermöglicht.
Die Artikel habe ich als XML-Datei vorliegen (SAP-Export). Bisher habe ich immer nur Testweise bestimmte Kataloge verwendet und hatte somit ein ca. 3MB großes XML-File. Jetzt nachdem das Prog fertig ist habe ich alle Artikel geladen und habe jetzt ca 20Mb.
Ich parse das XML-File beim Start des Programms mithilfe von JDOM und lese diese in unterschiedliche Beans ein.
Leider killen die 20MB nun mein System, bekomme die Exception Java.lang.OutOfMemoryError wenn ich mit Hilfe des SAXBuilder die Methode build("XML-File") aufrufe.
Hoffe mir kann jmd ein Tipp geben wie ich das XML-File besser parsen kann?
im vorraus vielen Dank!
Gruß
l|N
Edit:
Habe es einmal so
Code:
builder = new SAXBuilder();
doc = builder.build(getClass().getResource(fileName));
Code:
builder = new SAXBuilder();
BufferedReader is = new BufferedReader(new InputStreamReader(getClass().getResourceAsStream(fileName)));
doc = builder.build(is);
Zuletzt bearbeitet: