Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Parsear xml simplexml

Estas en el tema de Parsear xml simplexml en el foro de PHP en Foros del Web. Hola Colegas quiero mostrar los valores de un xml y no tengo claro como funciona este formato tiene mi xml Código: <horoscope> <source>Astrologia</source> <date>09/03/2014</date> <sign ...
  #1 (permalink)  
Antiguo 08/03/2014, 21:13
 
Fecha de Ingreso: enero-2012
Mensajes: 224
Antigüedad: 12 años, 10 meses
Puntos: 1
Parsear xml simplexml

Hola Colegas quiero mostrar los valores de un xml y no tengo claro como funciona

este formato tiene mi xml
Código:

<horoscope>
<source>Astrologia</source>
<date>09/03/2014</date>
<sign id="1">
<message>
Hoy deberías tratar de no involucrarte en discusiones innecesarias con las personas de tu entorno, Aries; siempre es mejor dialogar y hablar con calma sobre cualquier cuestión que te moleste. El sexo también será importante en este día. Finalmente, hacer un poco de deporte por la mañana te ayudará a equilibrar y a liberar las energías negativas acumuladas.
</message>
</sign>
<sign id="2">
<message>
Si tienes pareja, es posible que hoy no te sientas a gusto con ella, Tauro; si es así, trata de hablar con sinceridad y de contarle todo lo que te pasa o sientes. Relájate y evita los excesos, porque te podrían ocasionar problemas de salud. Por último, las actividades relacionadas con el plano social estarán propiciadas.
</message>
</sign>

</horoscope>
aplico este codigo que encontre pero no lo comprendo del todo , quiero usar los paramtros id y mensaje para mostrar segun un GET

Código:

$opciones = array( 
    'http'=>array( 
        'method'=>"GET", 
        'header'=>"Content-type: text/xml\r\n", 
    ) 
); 
$contexto = stream_context_create($opciones); 
$data = "http://www.toucharound.com/horoscopo/xml/daily_es.xml";  
$library = file_get_contents($data, false, $contexto);  
$bb =  simplexml_load_string($library ); 
print_r($bb);
este codigo me devuelve esto

estoy cerca de mi objetivo, creo debo hacer un foreach pero no se como, alguna ayuda?

gracias

Código:
SimpleXMLElement Object ( [source] => Astrologia [date] => 09/03/2014 [sign] => Array ( [0] => SimpleXMLElement Object ( [@attributes] => Array ( [id] => 1 ) [message] => Hoy deberías tratar de no involucrarte en discusiones innecesarias con las personas de tu entorno, Aries; siempre es mejor dialogar y hablar con calma sobre cualquier cuestión que te moleste. El sexo también será importante en este día. Finalmente, hacer un poco de deporte por la mañana te ayudará a equilibrar y a liberar las energías negativas acumuladas. ) [1] => SimpleXMLElement Object ( [@attributes] => Array ( [id] => 2 ) [message] => Si tienes pareja, es posible que hoy no te sientas a gusto con ella, Tauro; si es así, trata de hablar con sinceridad y de contarle todo lo que te pasa o sientes. Relájate y evita los excesos, porque te podrían ocasionar problemas de salud. Por último, las actividades relacionadas con el plano social estarán propiciadas. ) [2] => SimpleXMLElement Object ( [@attributes] => Array ( [id] => 3 ) [message] => Este domingo podría ser un día algo negativo, Gémi
  #2 (permalink)  
Antiguo 08/03/2014, 22:18
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Parsear xml simplexml

¿Ya consultaste el manual para ver ejemplos de como se usa SimpleXML?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 09/03/2014, 11:03
 
Fecha de Ingreso: enero-2012
Mensajes: 224
Antigüedad: 12 años, 10 meses
Puntos: 1
Respuesta: Parsear xml simplexml

si amigo por eso pregunto ,

igual ya lo resolvi


Código:

foreach($bb->children() as $child) {
    
        $role = $child->attributes();

        foreach($child as $key => $value) {
            
            if($role == $hor)
            echo  ( "<h1>".$value . "  </h1><br />");
            
        }
}

Etiquetas: parsear, simplexml, 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 17:28.