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

Discussione: newb lettura file xml

  1. #1

    newb lettura file xml

    Salve a tutti, ho necessità di leggere un file xml con questa struttura:

    <webnews id="1" datanews="26-04-2005" titolo="NEWS DI PROVA" notizia="NEWS DI PROVA INVIO WEB" />

    il tag iniziale è <notizie>
    finale </notizie>

    potete, cortesemente, aiutarmi ?

    attualmente leggo tag singoli ... ma non cosi' complessi! :master:

  2. #2
    Attraverso quale linguaggio?
    Javascript? Xpath?

  3. #3
    io uso asp...

    beh , ma se mi dite come fare in JS o xpath ... lo integro nel mio script asp

  4. #4
    Ok.
    Il problema consiste nel fatto che io conosco PHP, ma non ASP
    In PHP sarebe semplice.
    In javascript un po' complicato per via del fatto che l'ID ha un valore numerico e javascript non accetta valori numerici come id e bisognerebbe fare un po' di "macchinazione" per leggere un XML.
    Diciamo ipoteticamente che la struttura dell'XML è questa:
    Codice PHP:
    <notizie>
         <
    webnews id="1" datanews="26-04-2005" titolo="NEWS DI PROVA" notizia="NEWS DI PROVA INVIO WEB" />
         <
    webnews id="2" datanews="26-04-2005" titolo="NEWS DI PROVA" notizia="NEWS DI PROVA INVIO WEB" />
    </
    notizie
    ecco il relativo codice Javascript:
    Codice PHP:
    /*sia documentoXML il documento XML caricato*/
    var tabella = new Array();
    var 
    tags=documentoXML.getElementByTagName("webnews")
    /*ora tags restituisce una "collection" di tutti gli elementi webnews */
    /*siccome suppongo che l'id sia univoco e seqenziale è inutile creare un array iterando la 
    sua creazione per poi reiterarne l'estrazione: un XML è già organizzato*/
    /*sia "i" il valore dell'id della notizia di cui vogliamo estrarre i dati*/
    var =1;
    var 
    datanews=tags[i].getAttribute("datanews");
    var 
    titolo=tags[i].getAttribute("titolo");
    var 
    notizia=tags[i].getAttribute("notizia");
    /* le relative variabili conterranno i corrispettivi valori*/


    Suppongo tu sappia come caricare in ASP un documento XML:
    Codice PHP:
    var documentoXML = new ActiveXObject("Microsoft.XMLDOM");
    documentoXML.async="false";
    documentoXML.load("doc.xml"); 
    Se lo script deve funzionare client-side è necessario però implementare il caricamento per browser che non supportano gli ActiveX (tutti gli altri):
    Codice PHP:
      documentoXML=document.implementation.createDocument("","",null);
      
    documentoXML.load("doc.xml"); 
    Spero di essere stato d'aiuto.

  5. #5
    Grazie mille,
    provo ad integrarlo e ti faccio sapere.
    Ciao,
    Giacomo

  6. #6

    funziona ???

    Codice PHP:
    <SCRIPT language="JavaScript1.2">
    var 
    documentoXML = new ActiveXObject("Microsoft.XMLDOM");
    documentoXML.async="false";
    documentoXML.load("news.xml");
    /*sia documentoXML il documento XML caricato*/
    var tabella = new Array();
    var 
    tags=documentoXML.getElementByTagName("webnews")
    /*ora tags restituisce una "collection" di tutti gli elementi webnews */
    /*siccome suppongo che l'id sia univoco e seqenziale è inutile creare un array iterando la
    sua creazione per poi reiterarne l'estrazione: un XML è già organizzato*/
    /*sia "i" il valore dell'id della notizia di cui vogliamo estrarre i dati*/
    var =1;
    var 
    datanews=tags[i].getAttribute("datanews");
    var 
    titolo=tags[i].getAttribute("titolo");
    var 
    notizia=tags[i].getAttribute("notizia");
    /* le relative variabili conterranno i corrispettivi valori*/
    </script> 
    non restituisce nessun errore, ma neanche valori... le variabili datanews / titolo e notizia sono vuoti.

    questo il file
    Codice PHP:
    <?xml version "1.0" encoding="Windows-1252" standalone="yes"?>
    <VFPData>
        <webnews id="1" datanews="26-04-2005" titolo="NEWS DI PROVA" notizia="NEWS DI PROVA INVIO WEB"/>
        <webnews id="2" datanews="16-10-2007" titolo="NUOVO EDITORE DISTRIBUZIONE" notizia="EDITRICE PICCOLI IN DISTRIBUZIONE"/>
    </VFPData>

  7. #7
    Errore mio
    Sono abituato a scrivere codice "a mano" e ogni tanto "salto" qualche lettera!!!

    modifica con
    codice:
    var tags=documentoXML.getElementsByTagName("webnews")
    tags restituisce un Array (elements non element!)

  8. #8


    niente ...

    il non fare riferimento al tag ID puo' entrarci qualcosa?

  9. #9
    A me funziona:
    Codice PHP:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
    "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"
    >
    <
    html xmlns="http://www.w3.org/1999/xhtml" xml:lang="it">
        <
    head>
    <
    title></title></head><body>
    <
    script type="text/javascript">
    var 
    documentoXML = new ActiveXObject("Microsoft.XMLDOM");
    documentoXML.async="false";
    documentoXML.load("news.xml");
    /*sia documentoXML il documento XML caricato*/
    var tabella = new Array();
    var 
    tags=documentoXML.getElementsByTagName("webnews")
    /*ora tags restituisce una "collection" di tutti gli elementi webnews */
    /*siccome suppongo che l'id sia univoco e seqenziale è inutile creare un array iterando la
    sua creazione per poi reiterarne l'estrazione: un XML è già organizzato*/
    /*sia "i" il valore dell'id della notizia di cui vogliamo estrarre i dati*/
    var =1;
    var 
    datanews=tags[i].getAttribute("datanews");
    var 
    titolo=tags[i].getAttribute("titolo");
    var 
    notizia=tags[i].getAttribute("notizia");
    /* le relative variabili conterranno i corrispettivi valori*/
    alert(datanews+" "+titolo+" "+notizia);
    </script>
    </body></html> 
    Ovviamente il file news.xml deve essere nella stessa directory della pagina.

    Ti ricordo, inoltre, che questo metodo funziona solo su Internet Explorer.

  10. #10
    il file era in una directory diversa...

    con firefox ?
    VVoVe:

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