-Ivan-
30-11-2009, 16:13
Ciao a tutti, ho iniziato adesso a vedere come si fa il parsing xml da java ma ho un problema.
Il file xml da cui voglio leggere per adesso è molto banale ed è fatto così:
<?xml version="1.0" ?>
<utenti>
<utente>
<nickname>Ivan</nickname>
<password>gigi</password>
</utente>
</utenti>
Non capisco come poter fare a scorrerlo per raggiungere il campo di testo "Ivan" ed a fare un semplice if (campo letto da xml == "Ivan") System.out.println("esiste Ivan memorizzato come nickname");
Il codice che ho scritto ora seguendo le dispense dell'università è il seguente e devo attenermi a questo, sto cercando di capirlo ma ho qualche problema, se riuscite a dirmi quali comandi mancano per arrivare a leggere il valore testuale del nodo magari riesco a capire anche il resto:
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Document document;
int i=0;
try
{
DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
//factory.setValidating( true );
DocumentBuilder builder = factory.newDocumentBuilder();
// obtain document object from XML document
document = builder.parse( new File("utenti.xml"));
Node root = document.getDocumentElement();
Node nickname;
if ( root.getNodeType() == Node.ELEMENT_NODE ) {
Element utente = ( Element ) root;
//mi da la lista degli elementi con tag nickname (?speriamo?)
NodeList listaNomeUtente = utente.getElementsByTagName("nickname");
for(i=0; i<listaNomeUtente.getLength(); i++)
{
//scorro la lista dei nickname (quando modificherò il file xml ce ne sarà più di uno)
nickname=listaNomeUtente.item(i);
if (...non so cosa mettere qui...) {
System.out.println("Esiste il nick Ivan");
}
}
}
}
catch(Exception e)
{
System.err.println("Errore durante la lettura dal file");
e.printStackTrace();
}
}
}
Grazie a tutti.
Il file xml da cui voglio leggere per adesso è molto banale ed è fatto così:
<?xml version="1.0" ?>
<utenti>
<utente>
<nickname>Ivan</nickname>
<password>gigi</password>
</utente>
</utenti>
Non capisco come poter fare a scorrerlo per raggiungere il campo di testo "Ivan" ed a fare un semplice if (campo letto da xml == "Ivan") System.out.println("esiste Ivan memorizzato come nickname");
Il codice che ho scritto ora seguendo le dispense dell'università è il seguente e devo attenermi a questo, sto cercando di capirlo ma ho qualche problema, se riuscite a dirmi quali comandi mancano per arrivare a leggere il valore testuale del nodo magari riesco a capire anche il resto:
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Document document;
int i=0;
try
{
DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
//factory.setValidating( true );
DocumentBuilder builder = factory.newDocumentBuilder();
// obtain document object from XML document
document = builder.parse( new File("utenti.xml"));
Node root = document.getDocumentElement();
Node nickname;
if ( root.getNodeType() == Node.ELEMENT_NODE ) {
Element utente = ( Element ) root;
//mi da la lista degli elementi con tag nickname (?speriamo?)
NodeList listaNomeUtente = utente.getElementsByTagName("nickname");
for(i=0; i<listaNomeUtente.getLength(); i++)
{
//scorro la lista dei nickname (quando modificherò il file xml ce ne sarà più di uno)
nickname=listaNomeUtente.item(i);
if (...non so cosa mettere qui...) {
System.out.println("Esiste il nick Ivan");
}
}
}
}
catch(Exception e)
{
System.err.println("Errore durante la lettura dal file");
e.printStackTrace();
}
}
}
Grazie a tutti.