Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Xml E Filtro

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    473

    Xml E Filtro

    Ciao a tutti.

    premetto che non ho mai lavorato con i file xml purtroppo!!!

    ho un file xml formattato come segue:
    codice:
    <elenco>
      <status>
        <esito>OK</esito>
        <errorLevel />
        <descrizione />
      </status>
      <offerte>
        <idOfferta>00001</idOfferta>
        <tourOperator>tour1</tourOperator>
        <destinazione>destinazione1</destinazione>
        <idDestinazione>149</idDestinazione>
        <imgDestinazione>http://www.xxxxx.it/xxx/xxx.jpg</imgDestinazione>
        <struttura>Hotel/Club 4*</struttura>
        <categoria>4*</categoria>
        <trattamento>Tutto incluso soft</trattamento>
        <periodo_dal>13/01/2012</periodo_dal>
        <periodo_al>20/01/2012</periodo_al>
        <aeroportoIATA>MXP</aeroportoIATA>
        <prezzo_catalogo>999</prezzo_catalogo>
        <sconto_catalogo>999</sconto_catalogo>
        <prezzo_consigliato>999</prezzo_consigliato>
        <prezzo_netto>999</prezzo_netto>
      </offerte>
      <offerte>
        <idOfferta>00001</idOfferta>
        <tourOperator>tour2</tourOperator>
        <destinazione>destinazione2</destinazione>
        <idDestinazione>150</idDestinazione>
        <imgDestinazione>http://www.xxxxx.it/xxx/xxx.jpg</imgDestinazione>
        <struttura>Hotel/Club 4*</struttura>
        <categoria>4*</categoria>
        <trattamento>Tutto incluso soft</trattamento>
        <periodo_dal>13/01/2012</periodo_dal>
        <periodo_al>20/01/2012</periodo_al>
        <aeroportoIATA>MXP</aeroportoIATA>
        <prezzo_catalogo>999</prezzo_catalogo>
        <sconto_catalogo>999</sconto_catalogo>
        <prezzo_consigliato>999</prezzo_consigliato>
        <prezzo_netto>999</prezzo_netto>
      </offerte>
     </elenco>

    in una pagina php dovrei visualizzare l'elenco completo delle offerte e dovrei fare anche un filtro dei seguenti campi:
    -destinazione
    -periodo
    -prezzo_catalogo.

    Sarebbe bello avere prima dell'inizio dell'elenco 3 list (destinazione, periodo, prezzo)
    dove nella prima list visualizzo solo le destinazioni presenti nel file xml, nella seconda list visualizzo i periodi in base alla destinazione scelta e nella terza list visualizzo il prezzo in base alla destinazione e periodo scelto.

    ho provato a seguire la guida xlst ma io dovrei integrarlo il tutto nel pagina php e non ho capito come fare?

    Potete indicarmi un esempio su come leggere i file xml e come fare il filtro???

    Grazie

    Ciao


    delle list con la possibilita di selezionare le solo destinazioni presenti sul file xml, poi in automatico nella list

  2. #2
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    473
    Ciao,
    nessuna idea???

    qlcn puo' spiegarmi come funzionano i filtri su xslt?

    Sto cercando di capire la guida XSLT (Enrico Lai) nella lezione 18-19-20 fa vedere i filtri in base ai dati, ma gli esempi non funzionano e non riesco a capire un granchè...

    come faccio a passere un parametro al foglio xslt???

    Grazie per qualsiasi risp!!

    Ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    473
    Ciao a tutti.
    ho capito il problema,
    io usavo firefox e gli esempi nella guida sono compatibili solo su explorer...

    ho trovato su questo SITO un esempio che funziona sia su firexo che su explorer

    ora sto leggendo la guida e sto modificanto il modello xslt come voglio e sto impostando alcuni filtri...

    con il seguente codice seleziono le città che hanno come id 1

    codice:
     
    // ------------Applica un file XSL a un XML In PHP 5  --------------------
    $cityLocations = "1";
    // Carica il file dati
     
    $xml = new DOMDocument("1.0");
    $xml->load($_SERVER['DOCUMENT_ROOT'].'/xml/location.xml');
     
    // Carica il file stile
    $xsl = new DOMDocument("1.0");
    $xsl->load($_SERVER['DOCUMENT_ROOT'].'/xslt/location.xsl.php');
    // Crea un processore XSLT
    $proc = new XSLTProcessor;
    // Setta un parametro da trasformare nel file XSL  
    $proc->setParameter( '', 'CityID', $cityLocations);   
    $proc->importStyleSheet($xsl); // Importa il file xslt
    $dom=$proc->transformToDoc($xml);    // Output risultato a documento DOM
    $dom->formatOutput=true;
    echo  $dom->saveXML($dom->documentElement);  // Invia il risultato a un browser

    come potete vedere ho impostato un parametro e funziona!

    Pero come faccio a eseguire il template xslt senza impostare nessun parametro, ma visualizzando tutti i dati???

    Sto seguendo la guida su questo sito, ma non cè il codice da scrivere nella pagina php o asp che poi richiama il modello con il file xml.

    qualcuno ha mai lavorato con questi modelli????

    Grazie

    Ciao

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    37
    codice:
     
    // ------------Applica un file XSL a un XML In PHP 5  --------------------
    $cityLocations = "1";
    // Carica il file dati
     
    $xml = new DOMDocument("1.0");
    $xml->load($_SERVER['DOCUMENT_ROOT'].'/xml/location.xml');
     
    // Carica il file stile
    $xsl = new DOMDocument("1.0");
    $xsl->load($_SERVER['DOCUMENT_ROOT'].'/xslt/location.xsl.php');
    // Crea un processore XSLT
    $proc = new XSLTProcessor;
    // Setta un parametro da trasformare nel file XSL  
    $proc->setParameter( '', 'CityID', $cityLocations);   
    $proc->importStyleSheet($xsl); // Importa il file xslt
    $dom=$proc->transformToDoc($xml);    // Output risultato a documento DOM
    $dom->formatOutput=true;
    echo  $dom->saveXML($dom->documentElement);  // Invia il risultato a un browser
    Un consiglio se usi questo codice, io aggiungere la funzione parser utf8_encode, in passato avevo avuto qualche problema a causa di caratteri non supportati, proprio con nomi di città peraltro!
    Ho risolto parsando il file xml subito dopo averlo caricato e non ho più avuto problemi.

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    473
    Grazie per la risposta, potresti farmi un esempio di che cosa devo srivere e dove?
    Grazie

    Ciao

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.