Foros del Web » Programando para Internet » PHP »

Leer archivos de un XML

Estas en el tema de Leer archivos de un XML en el foro de PHP en Foros del Web. Muy buenas :) He estado leyendo el foro y buscando pero no encuentro nada que me solucione mi pequeño problema. Tengo un archivo XML que ...
  #1 (permalink)  
Antiguo 16/11/2010, 06:23
Avatar de Jask  
Fecha de Ingreso: abril-2006
Ubicación: Madrid
Mensajes: 773
Antigüedad: 18 años
Puntos: 15
Leer archivos de un XML

Muy buenas :)

He estado leyendo el foro y buscando pero no encuentro nada que me solucione mi pequeño problema. Tengo un archivo XML que lo he generado mediante PHP y en él se guardan ciertos datos. Todo se genera desde un panel de administración.

Lo que quiero que de cara al usuario aparezcan estos datos ya maquetados a mi gusto, pero no encuentro manera de como hacerlo.

Este es el archivo php que genera el xml.

Código PHP:
<?php

### Check Whether User Can Manage Horoscope
if(!current_user_can('manage_horoscope')) {
        die(
'Acceso Denegado');
}

### Current URL
$currentURL="http://".$_SERVER['SERVER_NAME']."/wp-admin/admin.php?page=wp-horoscope/horoscope_manager.php";

echo 
"Gestión del horoscopo!<br />\n";

if(
$_GET['mode']=='updated')
    echo 
"Actualizado";

$signs = array( "aries""tauro""geminis","cancer""leo""virgo""libra""escorpio""sagitario""capricornio""acuario""piscis");
$date = array( "21/03 - 20/04""21/04 - 20/05""21/05 - 21/06""22/06 - 22/07""23/07 - 23/08""24/08 - 22/09""23/09 - 22/10""24/10 - 22/11""23/11 - 21/12""23/12 - 21/01""22/01 - 19/02""20/02 - 20/03");

if(empty(
$_POST['action'])){
    
$xml simplexml_load_file("http://".$_SERVER['SERVER_NAME']."/wp-content/plugins/wp-horoscope/horoscopo.xml");

 
$cont 0;
 echo 
"<form action=\"".$currentURL."\" method=\"post\">\n";

 foreach (
$xml->children() as $sign) {
    echo 
"<h3>".strtoupper($signs[$cont])."</h3>\n";
    echo 
"Contenido<input name='".$signs[$cont]."_amor' type='text' size='50' value='".$sign->amor."'><br />\n";
    echo 
"<input name='".$signs[$cont]."_fecha' type='hidden' value='".$date[$cont]."'><br />\n";
    echo 
"<input name='".$signs[$cont]."_imagen' type='hidden' value='wp-content/plugins/wp-horoscope/".$signs[$cont].".gif'><br />\n";
    
$cont $cont +1;
 }
 
 echo 
"<input type=\"submit\" name=\"action\" value=\"Actualizar\">\n";
 echo 
"</form>\n";

}else{
    
$pathXML $_SERVER['DOCUMENT_ROOT']."/wp-content/plugins/wp-horoscope/horoscopo.xml";
    
$XML "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n";//The header
    
$XML .= "<horoscopo>\r\n";
    
    
$cont 0;
    while (
$cont 12){
        
$XML .= "\t<s_".$signs[$cont].">\r\n";
        
$XML .= "\t\t<amor>".$_POST[$signs[$cont]."_amor"]."</amor>\r\n";
        
$XML $XML."\t\t<fecha>".$_POST[$signs[$cont]."_fecha"]."</fecha>\r\n";
        
$XML $XML."\t\t<imagen>".$_POST[$signs[$cont]."_imagen"]."</imagen>\r\n";
        
$XML .= "\t</s_".$signs[$cont].">\r\n";
        
$cont $cont +1;
    }

$XML $XML."</horoscopo>\r\n";

###Export to a file
if ($cn fopen($pathXML,w)){
    
fputs($cn$XML);
}

fclose($cn);
echo 
"<script>document.location ='".$currentURL."&mode=updated';</script>\n";

}
Y este es el archivo PHP que llama al XML

Código PHP:
$fullpath "http://".$_SERVER['SERVER_NAME']."/wp-content/plugins/wp-horoscope/images/";
    
$xml simplexml_load_file("http://".$_SERVER['SERVER_NAME']."/wp-content/plugins/wp-horoscope/horoscopo.xml");
    
    
## Carga XML
    //$ruta_fichero = "wp-content/plugins/wp-horoscope/horoscopo.xml";
    
$signs = array( "aries""tauro""geminis","cancer""leo""virgo""libra""escorpio""sagitario""capricornio""acuario""piscis");
    
$date = array( "21/03 - 20/04""21/04 - 20/05""21/05 - 21/06""22/06 - 22/07""23/07 - 23/08""24/08 - 22/09""23/09 - 22/10""24/10 - 22/11""23/11 - 21/12""23/12 - 21/01""22/01 - 19/02""20/02 - 20/03");
    
    if(empty(
$_POST['action'])){
        
$xml simplexml_load_file("http://".$_SERVER['SERVER_NAME']."/wp-content/plugins/wp-horoscope/horoscopo.xml");
    
         
$cont 0;

         foreach (
$xml->children() as $sign) {
            
//echo "<input name='".$signs[$cont]."_fecha' type='hidden' value='".$date[$cont]."'><br />\n";
            //echo "<input name='".$signs[$cont]."_imagen' type='hidden' value='wp-content/plugins/wp-horoscope/".$signs[$cont].".gif'><br />\n";

            
echo"<div style='width:778px; min-height:135px; border-bottom:1px solid #ffccff;'>
                <table width='100%' border='1'>
                  <tr>
                    <td width='95'>&nbsp;</td>
                    <td width='20'>&nbsp;</td>
                    <td>"
.$signs[$cont]."_fecha</td>
                  </tr>
                  <tr>
                    <td rowspan='2' valign='top'><img src='wp-content/plugins/wp-horoscope/images/"
.$signs[$cont]."_imagen.gif' alt='".$signs[$cont]."_imagen'/></td>
                    <td>&nbsp;</td>
                    <td>"
.$date[$cont]."</td>
                  </tr>
                  <tr>
                    <td>&nbsp;</td>
                    <td valign='top'>"
.$signs[$cont]."_amor</td>
                  </tr>
                </table>
            </div>"
;
            
$cont $cont +1;
        }
    } 
¿Qué estoy haciendo mal?

Gracias !!
__________________
Os iusti meditabitur sapientiam
Si te he ayudado, por qué no un poquito de Karma :) ?

Etiquetas: llamada, xml
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:20.