Problema per richiamare file xml -- Warning: DOMDocument::load() [domdocument.load]:

catellostefano

Utente Attivo
19 Dic 2008
525
2
0
www.stepo.biz
Salve a tutti,
e da un pò che non ci si sente, comunque volevo chiedervi una cosa.
Ho un problemino con php e xml. In parole povere ho un filtro di ricerca che lavora su 3 pagine, l'obbiettivo è prelevare l'id di un utente cercando il nome, chiaramente in maniera live, vi posto le pagine per capire:
PHP:
<?php
$xmlDoc=new DOMDocument();
$xmlDoc->load("rubrica.xml.php");

$x=$xmlDoc->getElementsByTagName('voce');

//get the q parameter from URL
$q=$_GET["q"];

//lookup all links from the xml file if length of q>0
if (strlen($q)>0)
{
$hint="";
for($i=0; $i<($x->length); $i++)
  {
  $y=$x->item($i)->getElementsByTagName('nome');
  $z=$x->item($i)->getElementsByTagName('id');
  if ($y->item(0)->nodeType==1)
    {
    //find a link matching the search text
    if (stristr($y->item(0)->childNodes->item(0)->nodeValue,$q))
      {
      if ($hint=="")
        {
        $hint="<a href='" .
        $z->item(0)->childNodes->item(0)->nodeValue .
		"' target='_blank'>" .
        $y->item(0)->childNodes->item(0)->nodeValue . "</a>";
        }
      else
        {
        $hint=$hint . "<br /><a href='" .
        $z->item(0)->childNodes->item(0)->nodeValue .
        "' target='_blank'>" .
        $y->item(0)->childNodes->item(0)->nodeValue . "</a>";
        }
      }
    }
  }
}

// Set output to "no suggestion" if no hint were found
// or to the correct values
if ($hint=="")
  {
  $response="Nessun nome trovato";
  }
else
  {
  $response=$hint;
  }

//output the response
echo $response;
?>

questo è il file php che viene caricato dal form tramite js. ma questo non dà problemi!
Il problema sorge in questa pagina che mi restituisce questo errore:
Codice:
Warning: DOMDocument::load() [domdocument.load]: Extra content at the end of the document in file:///S:/www/www/applicazioni/volontari/ricercalive/fratelli.xml.php, line: 19 in S:\www\www\applicazioni\volontari\ricercalive\ricercalive.inc.php on line 3

vi posto anche la pagina rubrica.xml.php
PHP:
<?php
header("Content-Type: text/xml"); 

print '<?xml version="1.0" encoding="ISO-8859-1"?>
<pages>';

include_once "../../../funzioni/database.inc.php";

$querly = "SELECT * FROM rubrica";
$risultati = funzionemysql($querly);

while($row = mysql_fetch_array($risultati))
  {
  	echo "<voce>";
	echo "<id>" . $row['id'] . "</id>";
	echo "<nome>" . $row['Nome'] . " " . $row['Cognome'] ."</nome>";
	echo "</voce>";
  }
  print '</pages>';
?>

se apro questa pagina mi visualizza il file xml correttamente.

ma visto che non mi fermo o voluto fare delle prove, ed ho creato l file rubrica.xml.php senza nessun codice php ma solo il risultato dell' xml, e così funziona correttamente.

Sapete consigliarmi?

grazie
 

Discussioni simili