Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: Aiuto XML

  1. #1

    Aiuto XML

    Ciao

    non so se inserire qua questa discussione o nel forum di flash cmq...

    con asp.net genero un file xml, poi ho creato un swf per leggere il file e popolare un dataset. Ho creato l'swf in modo che aggiorna costantemente il dataset (un semplice loop) così da mostrare i nuovi elementi inseriti nel file xml. Quando avvio l'applicazione dal player di flash funziona tutto correttamente i campi si aggiornano, invece quando avvio swf dal browser non aggiorna proprio niente. Ho notato che per fare aggiornare il datagrid quando è in modalità browser devo visualizzare/aprire il file xml nel browser. qualcuno ha la soluzione di questo prob. non so se dipende da asp.net o da flash.

    Grazie spero di essere stato abbastanza chiaro nell'esporre il problema.

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    4,127
    ma il file swf lo apri come (nella barra dell'url hai)
    Z:\inetpub\wwwroot\cartella\mio.swf

    oppure
    http:\\localhost\cartella\mio.swf

    quello giusto è il 2^ .. ciao

  3. #3
    lo apre nel secondo modo, inserendo l'url

  4. #4
    io credo che sia un problema delle pagine di asp.net che aggiungono i campi forse non rilasciano le risorse del file xml o qualcosa del genere, perchè se modifico il file xml a mano con notepad l'swf vede subito i cambiamenti mentre se lo modifico con la pagina asp.net, l'swf non vede i cambiamenti. perchè?

    con asp.net il file lo aggiorno così:

    Sub creaNodiXML()
    Dim objXMLdoc As New XmlDocument

    Try
    objXMLdoc.Load(Server.MapPath(".") & "\xml\utenti.xml")
    Dim eleUtente As XmlElement = objXMLdoc.CreateElement("Session_" & Session.SessionID)

    Dim attrUtente As XmlAttribute = objXMLdoc.CreateAttribute("user")
    eleUtente.SetAttributeNode(attrUtente)
    eleUtente.SetAttribute("user", Session("nome_amm") & " " & Session("cognome_amm"))
    Dim root As XmlElement = objXMLdoc.Item("UtentiConnessi")
    root.AppendChild(eleUtente)

    Dim permUtente As XmlAttribute = objXMLdoc.CreateAttribute("permesso")
    eleUtente.SetAttributeNode(permUtente)
    eleUtente.SetAttribute("permesso", "amministratore")
    root = objXMLdoc.Item("UtentiConnessi")
    root.AppendChild(eleUtente)

    Dim dataIngresso As XmlAttribute = objXMLdoc.CreateAttribute("data")
    eleUtente.SetAttributeNode(dataIngresso)
    eleUtente.SetAttribute("data", Date.Now)
    root = objXMLdoc.Item("UtentiConnessi")
    root.AppendChild(eleUtente)

    objXMLdoc.Save(Server.MapPath(".") & "\xml\utenti.xml")
    Catch ex As Exception

    End Try
    End Sub



    sbaglio in qualcosa?

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    4,127
    probabilmente c'è un errore ..
    prova a togliere (commenta) il blocco try catch ..
    dicci l'errore (se c'è)

  6. #6
    il programma non mi dà nessun errore, quindi funzia correttamente.

    Però ho notato che l'swf non si aggiorna quando il file xml si trova nella cartella del web server iis, forse devo settare qualche impostazione del file o della cartella?

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    4,127
    non è vero
    il programma nn ti da nessun errore xkè (cerca nel tuo codice)

    Catch ex As Exception ' <-- se c'è un eccezione:
    'qui nn c'è niente
    ' equivale
    'se c'è un errore kissenefrega non fare niente
    End Try '<-- fine .. nn ha fatto niente..

    ora hai capito

    modifica il tuo codice cosi
    codice:
    Sub creaNodiXML()
    Dim objXMLdoc As New XmlDocument
    
    'Try
    objXMLdoc.Load(Server.MapPath(".") & "\xml\utenti.xml")
    Dim eleUtente As XmlElement = objXMLdoc.CreateElement("Session_" & Session.SessionID)
    
    Dim attrUtente As XmlAttribute = objXMLdoc.CreateAttribute("user")
    eleUtente.SetAttributeNode(attrUtente)
    eleUtente.SetAttribute("user", Session("nome_amm") & " " & Session("cognome_amm"))
    Dim root As XmlElement = objXMLdoc.Item("UtentiConnessi")
    root.AppendChild(eleUtente)
    
    Dim permUtente As XmlAttribute = objXMLdoc.CreateAttribute("permesso")
    eleUtente.SetAttributeNode(permUtente)
    eleUtente.SetAttribute("permesso", "amministratore")
    root = objXMLdoc.Item("UtentiConnessi")
    root.AppendChild(eleUtente)
    
    Dim dataIngresso As XmlAttribute = objXMLdoc.CreateAttribute("data")
    eleUtente.SetAttributeNode(dataIngresso)
    eleUtente.SetAttribute("data", Date.Now)
    root = objXMLdoc.Item("UtentiConnessi")
    root.AppendChild(eleUtente)
    
    objXMLdoc.Save(Server.MapPath(".") & "\xml\utenti.xml")
    'Catch ex As Exception
    
    'End Try
    End Sub

  8. #8
    l'ho tolto il try/catch ma fila tutto senza errori. non so + che provare.
    Ti ripeto l'ultima scoperta è che il file swf non si aggiorna quando inserisco l'url dell'xml, mentre si aggiorna se inserisco un percorso del mio pc.

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    4,127
    ma nel file swf tu rikiami la sub creaNodi
    xkè altrimenti nn so + ke pensare

  10. #10
    nel file swf ho il codice actionscript per leggere quel benedettofile xml

    codice:
    xmlDoc = new XML();
    myarray = new Array();
    myarray3 = new Array();
    xmlDoc.ignoreWhite = true;
    
    xmlDoc.onLoad = function(success) {
    	if (success) {
    		myarray = xmlDoc.firstChild.childNodes;
    		indice = 1;
    		if (con != myarray.length) {
    			myDataGrid.removeAllColumns();
    			for (i=0; i<=myarray.length-1; i++) {
    				if (myarray[i].attributes.permesso == "amministratore") {
    					myarray3.push({ico:"", id:indice, nome:myarray[i].attributes.user});
    					indice += 1;
    				}
    			}
    			myDataGrid.dataProvider = myarray3;	
    		}
    		con = myarray.length;
    	}
    }
    xmlDoc.load("http://localhost/elearning/client_elearning/xml/utenti.xml");
    questo codice è messo in un fotogramma e in un loop, ogni volta che la testina di lettura ci torna sopra aggiorna il datagrid(dovrebbe).

    cmq la macromedia pensa solo a creare linguaggi di programmazione su linguaggi per ogni prodotto che fabbrica senza svilupparne uno a fondo e il risultato è questo, quando cerchi di fare qualcosa di serio non si arriva a niente.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.