Tu xml asi, literal, funciona, sin haberlo tocado
Código PHP:
header("Content-type: text/xml");
$xml = "<?xml version="1.0\" encoding=\"ISO-8859-1\"?>";
$xml_output = "<inbox>\n";
$xml_output .= "\t<msg>\n";
// $xml_output .= "\t<telefono>\n";
//$xml_output .= "\t\t<nombre>" . $row['nombre'] . "</nombre>\n";
//$xml_output .= "\t\t<id>" . $i['fecha_hora'] . "</id>\n";
$xml_output .= "\t\t<usuario>usuario</usuario>\n";
$xml_output .= "\t\t<contrasena>contrasena</contrasena>\n";
$xml_output .= "\t\t<id_transaccion>transaccion</id_transaccion>\n";
$xml_output .= "\t</msg>\n";
$xml_output .= "</inbox>";
//$entrar=0;
echo $xml_output;
En el navegador:
- <inbox>
- <msg>
<usuario>usuario</usuario>
<contrasena>contrasena</contrasena>
<id_transaccion>transaccion</id_transaccion>
</msg>
</inbox>
Fijate que php puede crear algun error de codigo, por lo que resulta en un error xml.
Algo que podrias cambiar, mejorar, podria ser
la manera de recuperar de db.
Código PHP:
//quitando este loop for, y haciendolo con un while:
//for($x = 0 ; $x < mysql_num_rows($resultID) ; $x++){
while($row=mysql_fetch_array($resultID)){
$xml_output .= "\t\t<usuario>" . $row['usuario'] . "</usuario>\n";
//...etc...
}
Para testear si php te da el error que es lo mas probable:
Es comentar la parte que se crea el xml y hacer var_dump(); a
$resultID = mysql_query($query, $linkID);
$row=mysql_fetch_array($resultID)){
echo "<pre>";
var_dump($row);
echo "</pre>";
...por ejemplo.