Purtroppo il file non lo creo io e me lo devo leggere così com'è!
Io credo sia dovuto dalla struttura complessa dell'XML e dalle dimensioni (circa 3 mega!)
Purtroppo nonostante abbia aperto + di una discussione a riguardo non ho trovato nessuno in grado di aiutarmi, e così sono ancora nei guai!
Ti passo uno degli script che uso per l'aquisizione, se nessuno sa darmi un aiuto speriamo almeno sia di aiuto al nostro amico!

Codice PHP:
<html><body>
<?php
 
$filename
="http://.....schede.xml"
    if(!(
$fp fopen("$filename"r"))) 
        die(
"Non posso aprire il file"); 
    
$elenco_counter 0
    
$img = array();
    
$img[$elenco_counter] = 0
    
$elenco_data = array(); 
    
$xml_current_tag_state '';
    
$newpub 999999

    function 
cleantxt($testo
    {
    
$search = array('<''>''&''\'''"'); 
    
$replace = array('&lt;''&gt;''&amp;''&apos;''&quot;');
    
$testo str_replace($search$replace$testo);
    
$testo str_replace('&amp;''&'$testo);
    return 
$testo;
    }
     
    function 
startElementHandler($parser$element_name$element_attribs
    { 
    global 
$elenco_counter
    global 
$elenco_data
    global 
$xml_current_tag_state
    
$xml_current_tag_state $element_name
    } 
     
    function 
endElementHandler($parser$element_name
    { 
    global 
$elenco_counter;
    global 
$img
    global 
$elenco_data
    global 
$xml_current_tag_state;
    global 
$newpub;
    global 
$oldpub;
    global 
$uscita;
    
$xml_current_tag_state '';
 
    if( 
$element_name == "ITEM" 
        { 
           
$elenco_counter++; 
           
$img[$elenco_counter] = 0
           if (
$newpub <= $oldpub ) {
             
$uscita "si";

            } 
        } 
    } 
     
    function 
characterDataHandler($parser $data
    { 
    global 
$elenco_counter
    global 
$img;
    global 
$elenco_data
    global 
$xml_current_tag_state
    global 
$newpub;
    if( 
$xml_current_tag_state == '' 
    return; 
    if( 
$xml_current_tag_state == "IDSCHEDA" 
        { 
            
$elenco_data[$elenco_counter]["idscheda"] = $data
            
$newpub $data;
        } 
    if( 
$xml_current_tag_state == "DIDIMG" 
        { 
            
$img[$elenco_counter] = $img[$elenco_counter] + 1;
            
$elenco_data[$elenco_counter]["didimg" $img[$elenco_counter]] = $data
        } 
    if( 
$xml_current_tag_state == "NOMEIMG" 
        { 
            
$elenco_data[$elenco_counter]["nomeimg" $img[$elenco_counter]] = $data
        } 



require(
"config.php");
$query = @mysql_query("SELECT ultdtpubli FROM  ultpubli");
$result = @mysql_fetch_array($query);
$oldpub $result['ultpubli'];

if( !(
$xml_parser xml_parser_create()) ) 
die(
"Non riesco a creare il parser XML"); 

xml_set_element_handler($xml_parser"startElementHandler""endElementHandler"); 
xml_set_character_data_handler($xml_parser"characterDataHandler"); 

while( 
$data fread($fp4096)) 

    if( !
xml_parse($xml_parser$datafeof($fp))) 
    { 
        break; 
    } 
    if (isset(
$uscita ))
    { 
        break; 
    } 

//libero la memoria 
xml_parser_free($xml_parser);

  
for(
$i=$i $elenco_counter ; ++$i


for(
$j=$j <= $img[$i] ; ++$j) {

require(
"config.php");



$insert_sql "insert into immagini ( idscheda, idimg, nomeimg) values (";
$insert_sql .= $elenco_data[$i]["idscheda"] . ", '";
$insert_sql .= $elenco_data[$i]["didimg" $j] . "', '";
$insert_sql .= $elenco_data[$i]["nomeimg" $j] . "')";

//echo $insert_sql;

mysql_query($insert_sql);


require(
"chiudi.php");



echo 
"
\n"


 



echo 
"<script language=\"JavaScript\">location.href=\"parsatourope.php\"; </script>";
?> 
</body></html>