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

    Leggere dati da un foglio XML con javascript....

    ...come si fa?

    Se mi forniste degli esempi sarebbe veramente fantastico... io dovrei prendere i miei dati da un file XML e poi formattarli in qualche modo in una pagina HTML... e' possibile tutto cio' solo in Javascript?

    Grazie dell'attenzione...
    Non e' bello cio' che e' bello... ma che bello che bello che bello...
    Utonter. Il silenzio degli ignoranti

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Non credo sia possibile lato server.

    Devi trasformare la tua pagina in HTML prima di spedirla sulla rete.

    NOTA: il crossposting non e` da farsi (vedi regolamento)

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Mi scuso per il crossposting... e' che sto con le mani nei capelli e non sapevo bene dove postare...

    Comunque... io non devo spedire nessuna pagina da nessuna parte... il tutto deve girare da CD... mi serve solo sapere se posso leggere dei dati da un file XML con javascript e magari come fare. Tu ne hai idea?
    Non e' bello cio' che e' bello... ma che bello che bello che bello...
    Utonter. Il silenzio degli ignoranti

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    In generale il JS che gira in un browser non ha i privilegi per leggere da disco. Forse sotto IE, se le protezioni sono settate basse, ma non ho esperienza.

    So peraltro che ci sono dei tool che trasformano una pagina XML in HTML, leggendo il corrispondente XSL. Mi pare che qualcuno aveva postato qualcosa in questo forum all'inizio.

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    Originariamente inviato da MadBrain
    Mi scuso per il crossposting... e' che sto con le mani nei capelli e non sapevo bene dove postare...

    Comunque... io non devo spedire nessuna pagina da nessuna parte... il tutto deve girare da CD... mi serve solo sapere se posso leggere dei dati da un file XML con javascript e magari come fare. Tu ne hai idea?
    se sei certo che chi visualizzerà le pagine HTML userà Internet Explorer ... si può fare, sfruttando Javascript e il DOM di Microsoft.
    I amar prestar aen, han mathon ne nen, han maton ne chae a han noston ne 'wilith

  6. #6

    Certo che si può

    Estratto da una mailing list di html.it

    >>>>>>>>>>>>>>>>>>>> UN JAVASCRIPT A SETTIMANA <<<<<<<<<<<<<<<<<<<<
    servizio gratuito di ML offerto da HTML.it
    http://www.html.it


    settimana 190 - 25 novembre 2002

    -------------------------
    | NEWS TICKER CON FILE ESTERNO |
    -------------------------


    - SCHEDA TECNICA -


    GENERE: utilità
    DESCRIZIONE: news ticker con file XML esterno
    COMPATIBILITA': Explorer 5.x, Netscape 6.x
    USO FILE ESTERNI: no
    FILE ALLEGATO: "jscript_251102.zip"



    - DESCRIZIONE -


    Lo script di questa settimana è un gestore di news che ha la particolarità di utilizzare un file XML esterno per contenere il testo delle notizie. Il codice è molto semplice da utilizzare ed è compatibile sia con Explorer 5.x che con Netscape 6.x. Con altri navigatori non verrà visualizzato nulla e non verrà restituito alcun errore. Il file allegato a questa mail "jscript_251102.zip" si compone di 2 file (esclusi i file "htmlit.gif" e "jscript_251102.txt"):

    esempio.htm
    messaggi.xml


    Per una piu' semplice comprensione del presente script fai continuamente riferimento ai file sopracitati, verificando le procedure e i dati espressi. Solo in questo modo, con un continuo confronto, comprenderai le peculiarita' di questo Javascript.


    >>>>>>>>>>>>>>>> esempio <<<<<<<<<<<<<<<<<<



    La prima cosa da fare è inserire questo codice all'interno del corpo della pagina. Per facilitare il posizionamento del box con le notizie è possibile utilizzare una semplice tabella.


    ----------------------------------------------------------
    <script language="JavaScript1.2">
    var tickercontainer='<div align="center" id="container" style="background-color:#f0f0f0;border-width:1;border-style:solid;border-color:black;width:320;height:70;font:normal 13.75px Verdana;"></div>'

    var xmlsource="messaggi.xml"

    if (window.ActiveXObject)
    var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
    else if (document.implementation && document.implementation.createDocument)
    var xmlDoc= document.implementation.createDocument("","doc",nu ll);
    if (typeof xmlDoc!="undefined"){
    document.write(tickercontainer)
    xmlDoc.load(xmlsource)
    }

    var notWhitespace = /\S/

    function init_ticker(){

    tickerobj=xmlDoc.getElementsByTagName("xmlticker")[0]

    for (i=0;i<tickerobj.childNodes.length;i++){
    if ((tickerobj.childNodes[i].nodeType == 3)&&(!notWhitespace.test(tickerobj.childNodes[i].nodeValue))) {
    tickerobj.removeChild(tickerobj.childNodes[i])
    i--
    }
    } document.getElementById("container").innerHTML=tic kerobj.childNodes[1].firstChild.nodeValue
    msglength=tickerobj.childNodes.length
    currentmsg=2
    themessage=''
    setInterval("rotatemsg()",tickerobj.childNodes[0].firstChild.nodeValue)
    }

    function rotatemsg(){
    var msgsobj=tickerobj.childNodes[currentmsg]
    if (msgsobj.getAttribute("url")!=null){
    themessage='<a href="'+msgsobj.getAttribute("url")+'"'
    if (msgsobj.getAttribute("target")!=null)
    themessage+=' target="'+msgsobj.getAttribute("target")+'"'
    themessage+='>'
    }
    themessage+=msgsobj.firstChild.nodeValue
    if (msgsobj.getAttribute("url")!=null)
    themessage+='</a>'

    document.getElementById("container").innerHTML=the message
    currentmsg=(currentmsg<msglength-1)? currentmsg+1 : 1 themessage='' }

    function fetchxml(){
    if (xmlDoc.readyState==4)
    init_ticker()
    else
    setTimeout("fetchxml()",10)
    }

    if (window.ActiveXObject)
    fetchxml()
    else if (typeof xmlDoc!="undefined")
    xmlDoc.onload=init_ticker

    </script>
    ----------------------------------------------------------


    La personalizzazione di questo codice è molto semplice (due sole variabili da configurare) e riguarda principalmente l'aspetto estetico del box per le notizie:

    var tickercontainer='<div align="center" id="container" style="background-color:#f0f0f0;border-width:1;border-style:solid;border-color:black;width:320;height:70;font:normal 13px Verdana;"></div>'
    è la variabile che mostra le caratteristiche del DIV adibito a contenitore delle news. possiamo stabilire tutti i parametri necessari per la personalizzazione estetica: lunghezza, altezza, colore di sfondo, colore del testo.

    var xmlsource="messaggi.xml"
    è la variabile che indica il percorso che porta al file XML esterno. se avete inserito questo file nella stessa cartella della pagina contenente lo script potete anche lasciare tutto invariato.


    A questo punto è necessario personalizzare le news ovviamente. Aprite, con il vostro editor preferito, il file "messaggi.xml". Il contenuto originario sarà così:


    -----------------------------------------------
    <?xml version="1.0"?>
    <xmlticker>
    <pause>3000</pause>
    <message>Ecco le news del giorno:</message>
    <message url="http://www.html.it/news7.html">Arrestati i fondatori di Mediaclick</message> <message url="http://www.html.it/news2.html" target="_blank">Bene l'online banking in Europa</message> <message url="http://www.html.it/news3.html">HP: i bilanci premiano la fusione con Compaq</message> </xmlticker>
    -----------------------------------------------


    Vediamo come poter modificare lo script:

    <pause>3000</pause>
    questo tag indica il tempo che trascorrerà tra un titolo e l'altro. può essere modificato a piacimento. il tempo è espresso in millisecondi; quindi 3000 mill. = 3 secondi

    <message>Ecco le news del giorno:</message>
    il testo racchiuso tra due tag <message>...</message> mostrerà dei semplici titoli non linkati. ovviamente possiamo inserire quanti titoli desideriamo; basterà inserire altri <message>...</message>

    <message url="http://www.html.it/news3.html">HP: i bilanci premiano la fusione con Compaq</message> per mostrare un titolo linkato basterà inserire il parametro "url=" (seguito da relativo indirizzo) all'interno del tag <message>. Ecco un altro esempio chiarificatore:


    -----------------------------------------------
    <message url="http://www.html.it">Html.it</message>
    -----------------------------------------------


    Se desideriamo possiamo anche inserire il target:


    -----------------------------------------------
    <message url="http://www.html.it" target="_blank">Html.it</message>
    -----------------------------------------------


    Altre modifiche non sono necessarie.

    PS: se il tuo programma di posta elettronica da' problemi nella visualizzazione del codice esposto in questo esempio; nell'allegato e' presente un file con estensione .txt con l'intero contenuto della presente mail.
    Se il destino mi è avverso, peggio per lui!

  7. #7
    l'ho trovato perchè serve anche a me!!!

    http://digilander.libero.it/tonyriva...ipt_251102.zip
    Se il destino mi è avverso, peggio per lui!

  8. #8
    vediamo se riesco a tornare sul tema del post!!!:.. dopo tanti mesi :-)))... approfondire questa cosa mi interessa.. ma io dovrei oltre a prendere dei dati con JS da file XML devopoter anche scrivere nel file XML ... naturalmente il tutto risiede su hard disk locale!!.. si puo fare???

  9. #9
    non penso si possa fare quello di scrivere in locale con il javascript!!

    Scrivere in locale da una pagina web penso sia possibile solo attraverso un applet java (necessaria autorizzazione dell'utente)

    bye Ton

    ps: non sono sicurissimo, prova a chiedere qualcosa su forum di javascript
    Se il destino mi è avverso, peggio per lui!

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