Ciao ragazzi,
ho un problema riguardante la lettura dei file XML. Per essere piu chiaro sto cercando di creare un programmino che prendesse in entrara dei File XML e da li elaborare i dati contenuto in esso per poi effettuare le operazioni successive.... Solo che il mio problema è questo come faccio a leggere in maniera dinamica il mio File.xml?
Per essere piu chiari se lo eseguo in questa maniera mi funziona.
questo è il mio File.xml d'esempio:
per quanto riguarda il codice java invece è questo:Codice PHP:<?xml version="1.0" encoding="UTF-8"?>
<contenire>
<libro id="0">
<titolo>Titolo del libro</titolo>
<autore>Mario Rossi</autore>
<autoreX>Mario Giovanni</autoreX>
</libro>
<autori id="1">
<nome>Ciccio</nome>
<cognome>ciccio</cognome>
</autori>
</contenire>
Codice PHP:SAXBuilder builder = new SAXBuilder();
Document doc;
//Element elm1 = null;
try {
doc = builder.build("C:/Documents and Settings/c102344/Desktop/Manu/xml/archivioLibro.xml")
Element root = doc.getRootElement();// Ottengo la radice
//System.out.println( "il valore del root è:"+root.getValue());
List lista = root.getChildren();
Object [] oggetto = lista.toArray();
//for(int x = 0; x <oggetto.length; x++){ -- comentato
Element valoreOggetto = (Element) oggetto[0];
String titolo = valoreOggetto.getChildText("titolo");
String autore = valoreOggetto.getChildText("autore");
System.out.println("il valore del titolo è: "+titolo);
System.out.println("il valore del autore è: "+autore);
Element valoreOggetto1 = (Element) oggetto[1];
String nomeAutore = valoreOggetto1.getChildText("nome");
String cognomeAutore = valoreOggetto1.getChildText("cognome");
System.out.println("il valore del nome è: "+nomeAutore);
System.out.println("il valore del cognome è: "+cognomeAutore);
//elm1 = root.getChild("titolo"); // Ottengo l'elemento
Se eseguo questo tipo di codice funziona senza nessun problema, ma il problema sta nel fatto se gli aggiungo un altra voce al mio File.xml oppure le voci (o meglio i nomi dei tag) che richiamo all'interno del getChildText non sono quelli non funziona piu.
Quindi stavo pensando a una lettura dinamica del File solo che non riesco..
Qualcuno mi sa dare qualche dritta??? Per favore...
Grazie in anticipo....

Rispondi quotando