Vi prego di darmi una mano. Dovrei leggere un file xml e prendere dei nomi da questo. Vi pregherei di scaricare l' xml al primo link di questo sito:

http://www.drugbank.ca/downloads


Il senso del codice sarebbe, finchč non trovi questa stringa "<drug-interaction>" continua a leggere, poi avanza di due righe e salva il nome di una stringa. Se eseguite il codice vi verrą fuori una nullpointerException che non mi so spiegare....se cercate nell' xml il nome precedente all' eccezione, cercando "<name>Simvastatin</name>" si vede che non č finito il file, perchč ho un nullpointerexception nel ciclo
codice:
while((line.indexOf("<drug-interaction>"))==-1){
?

Il codice č questo:

codice:
import java.io.*;


public class Prova{
	
	public static void main(String [] args)
	{
		
		try{
			
			String line="";
			
                        BufferedReader reader = new BufferedReader(new FileReader("drugbank.xml"));

			int tot=0;  //Conterrą il numero di righe del file
			
			while((line=reader.readLine())!=null){
				tot=tot+line.length();
			}
			
			reader = new BufferedReader(new FileReader("drugbank.xml"));
			
			line=reader.readLine();
			
			while(reader.ready()){
				
					String namegene="";
					String namedrug="";
					boolean founded=false; //boolean per ricerca partner id
					boolean match=false;   //bool confrtonto nomi bio4j e drugbank.xml
					int position=0;   //per riavvolgere il buffer
					int start, end=0;
					boolean hastarget=false;   //Non tutti i drug hanno dei target
				
					while((line.indexOf("<drug-interaction>"))==-1){   //scorro fino ad avere un drug
		
						if(tot-position==0)
							System.exit(0);        //FINE FILE, DRUG CONTROLLATI
						
						line=reader.readLine();
						
						//position=position+line.length();
					}
					
					//position=position+line.length();
					line=reader.readLine();
					//position=position+line.length();
					line=reader.readLine();
					//position=position+line.length();
					
					start=line.indexOf("<name>")+6;
					end=line.indexOf("</name>");
					
					namedrug+=line.substring(start, end);
					
					System.out.println("namedrug is "+namedrug+'\n');
			
						}
				
				
		    reader.close();
		}
				
		   catch(IOException e){System.out.println("Errore IO");}
		   
	}
}