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

    Script Parsing XML, piccolo aiutino!

    Ciao a tutti, sto facendo un parse da PHP su un feed rss,
    in genere funziona tutto, ma oggi mi imbatto in un feed e mi ritrovo con questo problema

    io pesco il campo "link" come al solito...
    ma mi viene restituito solo questo una volta inserito in db:

    codice:
    referrer=rss
    come posso fare?

    lo script completo è questo:

    codice:
    <?
    $filename="http://www.infojobs.it/oferta/RSSOfertes.cfm?lIdProvincia=113249753";
    if( ! ($fp = fopen( "$filename" , "r" )) ){echo "Impossibile aprire il file xml!";}
    $item_counter = 0;
    $item_data = array();
    $xml_current_tag_state = '';
    function startElementHandler( $parser, $element_name, $element_attribs ){
    	global $item_counter;
    	global $item_data;
    	global $xml_current_tag_state;
    	$xml_current_tag_state = $element_name;
    }
    function endElementHandler( $parser, $element_name ){
    	global $item_counter;
    	global $item_data;
    	global $xml_current_tag_state;
    	$xml_current_tag_state = '';
    	if( $element_name == "ITEM" ) {
    		$item_counter++;
    	}
    }
    function characterDataHandler( $parser , $data ){
    	global $item_counter;
    	global $item_data;
    	global $xml_current_tag_state;
    	if( $xml_current_tag_state == '' ) {
    		return;
    	}
    	if( $xml_current_tag_state == "TITLE" ) {
    		$item_data[$item_counter]["title"] = $data;
    	}
    	if( $xml_current_tag_state == "LINK" ) {
    		$item_data[$item_counter]["link"] = utf8_decode($data);
    	}
    	if( $xml_current_tag_state == "DESCRIPTION" ) {
    		$item_data[$item_counter]["description"] = $data;
    	}
    	if( $xml_current_tag_state == "PUBDATE" ) {
    		$item_data[$item_counter]["pubdate"] = $data;
    	}
    }
    if( !($xml_parser = xml_parser_create()) ){
    	die("Impossibile creare l' XML parser!");
    }
    
    xml_set_element_handler($xml_parser, "startElementHandler", "endElementHandler");
    xml_set_character_data_handler($xml_parser, "characterDataHandler");
    
    $data = stream_get_contents($fp);
    if( !xml_parse($xml_parser, $data, feof($fp)) ){
    	break; // esce dal loop quando finisce
    }
    
    xml_parser_free($xml_parser);
    
    for( $i=0 ; $i < $item_counter ; ++$i ){
    //for( $i=0 ; $i < 1 ; ++$i ){
    	//echo "".$item_data[$i]["title"]."".$item_data[$i]["pubdate"]."
    ";
        echo $item_data[$i]["link"]."
    ";
    
    
    }
    ?>
    grazie mille!

  2. #2

    Produrre un file xml!

    Ciao ragazzi, ho un piccolo problema con questo codice
    Produce un xml ma si interrompe producendo questo messaggio:

    "Errore interpretazione XML: entità non definita"

    Dov'è il problema?

    codice:
    <?php
    
    
    	<?php
    	mysql_connect ("ok", "ok", "ok") or die('Cannot connect to the database because: ' . mysql_error());
    	mysql_select_db ("ok");
    	
    if ((isset($_POST['email'])) && (isset($_POST['password']))){
    	$sql_login = "SELECT * FROM user WHERE email = '".$_POST['email']."' AND password = '".$_POST['password']."'";
    	$result_login = mysql_query($sql_login);
    	if (mysql_num_rows ($result_login) == 1) {
    		$row = mysql_fetch_assoc($result_login);
    		$_SESSION['email'] = $row['email'];
    		$_SESSION['iduser'] = $row['id'];
    		$_SESSION['nome'] = $row['nome'];
    		$_SESSION['cognome'] = $row['cognome'];
    		$_SESSION['sesso'] = $row['sesso'];
    		header("Location:/");
    	} else{
    		$_SESSION['errore'] = "Username e/o Password sbagliati";
    		header("Location:".$_SERVER['HTTP_REFERER']."");
    	}
    
    }
    function conv_date ($data){
      list ($y, $m, $d) = explode ("-", $data);
      return "$d/$m/$y";
    }
    
    //$stream = mysql_connect($host,$user,$password)or die("Connessione non riuscita: " . mysql_error()); 
    //mysql_select_db($db, $stream) or die("Errore nella selezione del database"); 
    header ("content-type:text/xml", true);
    $sql = "SELECT * FROM ads LEFT OUTER JOIN tipo ON ads.tipoimmobile = tipo.idtipologia LEFT OUTER JOIN agenti ON ads.id_agente = agenti.idagente LEFT OUTER JOIN agenzie ON ads.idagenzia = agenzie.id_agenzia ORDER BY str_to_date(ads.data_inserimento, '%m-%d-%Y') DESC"; 
    $query = mysql_query($sql) or die('Error, insert query failed'); 
    echo "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>"; 
    echo "<nome-elemento>"; 
    while($result = mysql_fetch_array($query)){ 
        echo "<id> ".$result['id']." </id>"; 
        echo "<descrizione> ".$result['descrizione']." </descrizione>"; 
        
    } 
    echo "</nome-elemento>";?>
    
    
    
    ?>
    Riuscite a darmi una mano? Grazie!!

  3. #3
    ma scusa eh -.-

  4. #4

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.