Questione : Flessione del Adobe: Passare in rassegna per la lima di XML (FileReference), modificarla, quindi upload esso all'assistente?

il seguente codice è di passare in rassegna per la lima locale di XML, la carica nella mia applicazione poichè la lima di XML o il documento di XML, quindi la aggiorna e dopo che tutte io devono upload al class= " i lineNumbers " >
1 del >


 [b] funzione riservata browseForFile (): vuoto
[/b] {
	xmlTypes di varietà: FileFilter = nuovo FileFilter (“XML (*.xml)„, “*.xml„);
	varietà xmlFile: Allineamento = nuovo allineamento (xmlTypes); 
	FileReference refUploadFile = nuovo ();
	refUploadFile.browse (xmlFile);
	refUploadFile.addEventListener (Event.SELECT, onFileSelect);
	refUploadFile.addEventListener (Event.COMPLETE, onFileComplete);
}
	  		
onFileSelect riservato di funzione (evento: Evento): vuoto 
{
	traccia (“selezionato„);
	refUploadFile.removeEventListener (Event.SELECT, onFileSelect);
	refUploadFile.addEventListener (Event.COMPLETE, onFileComplete);
        refUploadFile.load ();
}
     		
[b] onFileComplete riservato di funzione (evento: Evento): vuoto [/b]
{
	newXML di varietà: XML = refUploadFile.data come XML; // [u] qui è il problema, come convertire i dati che ottengo ad una lima di XML, using questo senso fa il newXML=NULL [/u] [i] [/i]
	refUploadFile.removeEventListener (Event.COMPLETE, onFileComplete);
        refUploadFile = event.currentTarget come FileReference;
}
class= >

di
class= del

Risposta : Flessione del Adobe: Passare in rassegna per la lima di XML (FileReference), modificarla, quindi upload esso all'assistente?

Il tipo di s di FileReference.data 'è ByteArray così qui che dovrete convertire il ByteArray in XML.

Soluzione possibile:
------------------
dati di varietà: ByteArray = refUploadFile.data come ByteArray;
data.position = 0;
newXML di varietà: XML = XML (data.readUTFBytes (data.length));
------------------------

Sperare che questo aiuti.
Altre soluzioni  
 
programming4us programming4us