• Bannato User Attivo

    XML: davvero ostico!

    Allora vorrei integrare nelle mie pagine le info contenute nel file presente all'url: www.urlblabla.com

    Questo file contiene informazioni di un certo tipo che vengono aggiornate ogni giorno.
    Usando queste info vorrei tenere aggiornate le pagine del mio sito.

    Come si fa la integrazione di questo file con la mia pagina?
    Grazie.


  • Bannato Super User

    Premetto che pure io sto cercando di capire meglio come estrarre dati dai file xml.

    Per fare ciò o usi un parser php oppure il javascript, non chiedermi di più perchè anche io ci sto studiando sopra. :ciauz:


  • User Attivo

    Se puoi usare asp posso girarti una guida che fa cio', fammi sapere perchè devo trovarla ma c'è l'ho :sbonk:


  • Moderatore

    guarda [url=http://www.hcaldana.com/news1.htm]questo se riesci a modificarlo

    e se ci riesci spiegalo anche a me


  • Bannato User Attivo

    @esteban said:

    guarda [url=http://www.hcaldana.com/news1.htm]questo se riesci a modificarlo

    e se ci riesci spiegalo anche a meLa pagina che mi hai segnalato non mi funge, cioè non ci vedo nulla.

    Lo scopo della mia domanda è quella di avere una pagina che mi crea una lista aggiornata giornalmente di hotel e della loro disponibilità.
    Suppongo sia il motivo per cui interessa anche a voi.

    Posso usare il php ma non ho ancora trovato queste benedette funzioni javascript o php che mi estrapolano i dati 😞


  • Super User

    Forse non ho capito nulla e quindi non e' questo che vuoi. Comunque:

    <?php
    $insideitem = false;
    $tag = '';
    $title = '';
    $description = '';
    $link = '';
    
    function startElement&#40;$parser, $name, $attrs&#41; &#123;
     global $insideitem, $tag, $title, $description, $link;
     if &#40;$insideitem&#41; &#123;
      $tag = $name;
     &#125; elseif &#40;$name == 'ITEM'&#41; &#123;
      $insideitem = true;
     &#125;
    &#125;
    
    function endElement&#40;$parser, $name&#41; &#123;
     global $insideitem, $tag, $title, $description, $link;
     if &#40;$name == 'ITEM'&#41; &#123;
      printf&#40;'<div style=\'position: relative; width&#58; auto; min-width&#58; 300px; margin&#58; 0px 0px 20px 0px; border&#58; 1px solid #000; padding&#58; 10px; background-color&#58; #fff; color&#58;; z-index&#58; 1;\'><h3 style=\'font-family&#58; verdana, arial, helvetica, sans-serif; margin&#58; 0 0 10px 0; padding&#58; 0; color&#58;; font-size&#58; 14pt; font-weight&#58; normal; line-height&#58; 14pt; text-indent&#58; 30px; background-color&#58; #ccc;\'><A style=\'color&#58; #00f; font-family&#58; Verdana, serif; text-decoration&#58; none;\' href=\'%s\' target=\'_blank\'>%s</a></h3><p style=\'font-size&#58; 12pt; text-align&#58; justify; font-family&#58; verdana, arial, helvetica, sans-serif; color&#58;; margin&#58; 0 0 16px 0; padding&#58; 0; font-weight&#58; normal;\'>',
       trim&#40;$link&#41;,trim&#40;$title&#41;&#41;;
      printf&#40;'%s</p></div>'."\n",trim&#40;$description&#41;&#41;;
      $title = '';
      $description = '';
      $link = '';
      $insideitem = false;
     &#125;
    &#125;
    
    function characterData&#40;$parser, $data&#41; &#123;
     global $insideitem, $tag, $title, $description, $link;
     if &#40;$insideitem&#41; &#123;
     switch &#40;$tag&#41; &#123;
      case 'TITLE'&#58;
      $title .= $data;
      break;
      case 'DESCRIPTION'&#58;
      $description .= $data;
      break;
      case 'LINK'&#58;
      $link .= $data;
      break;
     &#125;
     &#125;
    &#125;
    
    $xml_parser = xml_parser_create&#40;&#41;;
    xml_set_element_handler&#40;$xml_parser, 'startElement', 'endElement'&#41;;
    xml_set_character_data_handler&#40;$xml_parser, "characterData"&#41;;
    $fp = fopen&#40;'http&#58;//www.urlblabla.com/file.xml','r'&#41;
     or die&#40;'Error reading RSS data.'&#41;;
    while &#40;$data = fread&#40;$fp, 4096&#41;&#41; &#123;
     xml_parse&#40;$xml_parser, $data, feof&#40;$fp&#41;&#41;
      or die&#40;sprintf&#40;'XML error&#58; %s at line %d',
     xml_error_string&#40;xml_get_error_code&#40;$xml_parser&#41;&#41;,
     xml_get_current_line_number&#40;$xml_parser&#41;&#41;&#41;;
    &#125;
    fclose&#40;$fp&#41;;
    xml_parser_free&#40;$xml_parser&#41;;
    ?>
    

  • Super User

    Ciao Lkv 🙂

    Hai un pvt.