Ciao.
Ho un problema sul codice da scrivere per effetture il parsing di un file xml(con JDOM).
Ho già creato una classe per il parsing di un file xml con meno tag e funziona..in questo caso il mio problema è "scendere" per ottenere gli elementi che mi interessano.
il file xml è strutturato così:
Ecco,io riesco a scorrere solo fino a ricetta (..e "descrizione")codice:<xml> <ricetta><descrizione>nome Ricetta</descrizione> <ingredienti><ingrediente><nome></nome> <numpersone></numpersone> </ingrediente> <ingredienti> </ricetta> </xml>
e gli elementi che mi interessano sono quelli inseriti in <alimento>.
Probabilmente ha una risoluzione molto semplice...però io ho davvero tentato in tutti i modi di farlo funzionare!
ciao,grazie.codice:import java.io.*; import java.awt.*; import java.awt.event.*; import java.lang.*; import java.util.*; import java.util.List; import org.jdom.*; import org.jdom.input.*; public class LettoreRicette { public void LetturaRXML() { try { //creiamo la lista in cui inseriremo tutti i dati List listaa= new ArrayList(); SAXBuilder builder = new SAXBuilder(); /*Questo oggetto fornisce il metodo build il quale si occupa di effettuare il parsing del file XML passatogli in argomento, e di salvarlo in un oggetto Document fornito sempre dalle librerie JDOM. */ Document document = builder.build(new File("listaricette.xml")); //otteniamo la radice del documento xml Element rootElement = document.getRootElement(); //La classe Element è la classe fondamentale,perchè ci permette di utilizzare le funzionalità del JDOM //scorriamo gli elementi figli List children = rootElement.getChildren(); Iterator iterator = children.iterator(); //per ogni figlio while (iterator.hasNext()){ Element elericette = (Element)iterator.next(); System.out.println("che e' " + elericette.getName());**questo system.out.println lo uso semplicemente come prova per capire dove sono "arrivato"..in questo caso come output mi scrivere "che e' ricetta" } } catch (JDOMException e) { System.err.println("Errore nell'utilizzo dei meccanismi JDOM"); e.printStackTrace(); } catch (IOException e) { System.err.println("Errore durante la lettura dal file"); e.printStackTrace(); } } }

Rispondi quotando