cicciozza ha scritto:
SAXBuilder build = new SAXBuilder(); //creo un oggetto della classe saxbuilder che mi serve per prendere l'xml e caricarlo in memoria
File xml = new File("XML/file_libri.xml"); //specifico il file xml da leggere
Document doc = build.build(xml); //creo un documento doc col metodo build di saxbuilder e gli passo il file xml
Deduco che stai usando la libreria JDOM che è esterna al framework standard ed offre la
sua API per il parsing/creazione di XML.
Concettualmente la API è similare alla API del DOM W3C del framework ma è fatta diversamente. La API DOM del framework standard è basata sulle
interfacce (Document, Node, Element, ecc... sono interfacce) mentre in JDOM i vari Document, Element, ecc... sono
classi.
Inoltre in JDOM una lista di nodi figli è una "live" list, ovvero puoi modificarla aggiungendo/togliendo elementi e il documento risulta aggiornato in memoria senza fare altro. Nel DOM W3C le cose vanno diversamente.
cicciozza ha scritto:
Element root = doc.getRootElement(); //Creo un Element root che sarà la radice del doc???? HELP
Ogni XML ha un (1 !) tag "radice" <qualcosa> che racchiude tutto. L'oggetto Document NON è l'elemento radice. Il Document è da vedere appena un livello più in altro. Ovvero l'elemento radice + altre informazioni.
Ecco perché dal Document si deve ottenere il Element del tag radice.
cicciozza ha scritto:
List list = root.getChildren("prodottolibro"); //creo una Lista list che........... HELP
da un Element, getChildren dà la lista dei figli diretti (quelli appena sotto) che si chiamano in un certo modo es. i <prodottolibro>
cicciozza ha scritto:
Iterator it = list.iterator(); //Creo un iterator per scorrere (COSA STO SCORRENDO IN QUESTO MOMENTO? ) HELP
Stai scorrendo i tag <prodottolibro> che sono sotto il tag radice.
cicciozza ha scritto:
Element titoloE = (Element) element.getChild("titolo"); HELP HELP (potete spiegarmi il procedimento esatto per filo e per segno di queste due righe?
String titolo = titoloE.getTextTrim();
getChild ti dà il PRIMO elemento figlio diretto con quel nome <titolo>. Il Element può contenere del testo, se non vuoto e getTextTrim() ti dà il testo "trimmato" ovvero con i whitespace iniziali/finali eliminati.
P.S. quando devi comprendere una API come quella di JDOM, il consiglio è ovviamente quello di leggere la documentazione javadoc ufficiale.