Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Creare dinamicamente un file xml con asp

    Salve sto cercando di creare dinamicamente un file xml con asp..il file xml si crea ma all'interno è vuoto
    Questo è il codice che utilizzo:



    Codice PHP:
            'Inizializzo le Variabili 
    Dim xmlDoc, root 
    Dim xmlContent, success 
    Dim xmlData 
    Dim i 

    '
    Creo l' oggetto MsXML2.DOMDocument 
    Set xmlDoc = Server.CreateObject("msxml2.DOMDocument") 

    '
    Creo il Documento XML 
    xmlContent 
    "<foto photo=""public/"&immagine&"""></foto>" 
    xmlContent xmlContent "<foto photo=""public/"&immagine2&"""></foto>" 
    xmlContent xmlContent "<foto photo=""public/"&immagine3&"""></foto>" 
    xmlContent xmlContent "<foto photo=""public/"&immagine4&"""></foto>" 
    xmlContent xmlContent "<foto photo=""public/"&immagine5&"""></foto>" 
    'Fine Creazione XML 

    '
    Controllo se il File XML sia stato caricato Correttamente 
    success 
    xmlDoc.loadXML(xmlContent
    If 
    success True Then 
         
    'Visualizzo tutti i dati nel File XML 
         set xmlData = xmlDoc.getElementsByTagName("foto") 
         For i = 0 To (xmlData.length - 1) 
              Response.Write "[*]" & xmlData.Item(i).xml 
         Next 
         set xmlData = nothing 
         '
    Fine visualizzazione 
    Else 
         
    Response.Write "Impossibile caricare il File XMl... " Server.HTMLEncode(xmlContent
    End If 

    'Salviamo il File XML 
    xmlDoc.save Server.Mappath("/public/file.xml") 

    '
    Pulizia degli oggetti 
    Set xmlDoc 
    Nothing 
    GRAZIE MILLE COME SEMPRE

  2. #2
    Ciao,

    ci sono un paio di punti prima di fare il file xml:

    primo manca l'indicazione che è un file xml, la versione e la codifica... non basta nominarlo con estensione .xml, perché lo sia quindi:

    prima riga "<?xml version="1.0" encoding="UTF-8"?>" (ad esempio)

    Secondo problema:

    non c'è il nodo principale. Come hai messo tu, è come se avesse 4 nodi principali chiamati "foto", in realtà ci vuole un nodo principale unico, che poi contiene gli altri nodi:
    esempio
    <?xml version="1.0" encoding="UTF-8"?>
    <fotos>
    <foto>Foto 1</foto>
    <foto>Foto 2</foto>
    <foto>Foto 3</foto>
    </fotos>

    questo è un xml valido.

    Quindi ora puoi provare a modificare il tuo, oppure ti incollo un esempio un pochino + semplificato, che usa altri oggetti, ma che fa lo stesso:

    Codice PHP:
    <%
    Dim OggFile, origine, OggTextStream
    origine=server.Mappath("/public/file.xml")
    Set fso = CreateObject("Scripting.FileSystemObject")
    fso.CreateTextFile (origine)
    Set OggFile = fso.GetFile (origine)
    Set OggTextStream = OggFile.OpenAsTextStream(2)
    OggTextStream.WriteLine "<?xml version=""1.0"" encoding=""UTF-8""?>
    OggTextStream.WriteLine "<fotos>" 
    OggTextStream.WriteLine "<foto photo=""public/immagine1"">Immagine 1</foto>" 
    OggTextStream.WriteLine "<foto photo=""public/immagine2"">Immagine 2</foto>" 
    OggTextStream.WriteLine "<foto photo=""public/immagine3"">Immagine 3</foto>" 
    OggTextStream.WriteLine "<foto photo=""public/immagine4"">Immagine 4</foto>" 
    OggTextStream.WriteLine "</fotos>" 
    OggTextStream.close
    response.write "Scrittura eseguita correttamente. [url='/public/file.xml']Visualizza[/url]"
    %>
    Prova e poi vedi se fa un Xml valido o no...e facci sapere..

    Ciao

  3. #3
    Utente di HTML.it L'avatar di M@sE
    Registrato dal
    Oct 2001
    Messaggi
    488
    Ciao

    xml dovrebbe leggere solo l'output... io uso ASP e lo uso per gli RSS e non ho mai avuto problemi con nessun reader...

    perchè non fai semplicemente una pagina asp con un output di un contenuto XML al posto di scrivere il file?

  4. #4
    Funziona benissimo... GRAZIE MILLE!!!

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 © 2025 vBulletin Solutions, Inc. All rights reserved.