Quería pregunarles como puedo leer una parte de un archivo XML. Es decir, yo tengo este archivo:
Código XML:
Ver original
<?xml version="1.0" encoding="utf-8"?> <horoscopo> <s_tauro> <amor>Piensatelo dos veces antes de actuar. Piensatelo dos veces antes de actuar. Piensatelo dos veces antes de actuar. Piensatelo dos veces antes de actuar. Piensatelo dos veces antes de actuar. Piensatelo dos veces antes de actuar. Piensatelo dos veces antes de actuar. Piensatelo dos veces antes de actuar.</amor> <amistad></amistad> <truco></truco> </s_tauro> <s_sagitario> <amor>Estáis hechos el uno para el otro, ¡no lo dudes!</amor> <amistad>Un amigo está ahí incluso cuando no le llamas.</amistad> <truco>El must para las noches son los vestidos de lentejuelas</truco> </s_sagitario> <s_piscis> <amor>Piénsalo… ¿realmente es el chico de tus sueños?</amor> <amistad>Tus friends siempre te ayudan, no olvides devoverles el favor.</amistad> <truco>Un maxibolso será ideal para ir al cole o al insti.</truco> </s_piscis> <s_libra> <amor>¡Está claro! Él es tu Edward, ¡es la razón de tu existencia!</amor> <amistad>Se acerca la navidad… vete de shopping con tus friends!!</amistad> <truco>Peinate con un moño bien alto ¡y serás la reina de la fiesta!</truco> </s_libra> <s_leo> <amor>Estais bien juntos. No le des más vueltas, ¡la felicidad existe!</amor> <amistad>Una de cal y otra de arena. Los amigos pueden fallar, pero hay que saber perdonar</amistad> <truco>Olvídate del negro para el día a día. ¡¡Power Colourfull!</truco> </s_leo> </horoscopo>
Y tengo un archivo php que lo llama ( es un plugin de wordpress )
Código PHP:
<?php
// Más información: http://codex.wordpress.org/es:Plugin_API#Acciones
add_action( 'widgets_init', 'insert_widget');
function insert_widget(){
register_widget('Horoscope_Widget');
}
class Horoscope_Widget extends WP_Widget {
function Horoscope_Widget(){
## Widget Settings
$widget_ops = array('classname' => 'horoscopo', 'description' => __('Widget Horóscopo que muestra imágenes aleatórias.', 'widgethoros') );
## Widget Control Settings
$control_ops = array('width' => 200, 'height' => 250, 'id_base' => 'horoscope-base');
## Create the widget
$this->WP_Widget('horoscope-base', __('Horoscope Widget', 'horoscopo'), $widget_ops, $control_ops);
}
// Como se va a mostrar el widget en pantalla
function widget($args, $instance){
## Más info: http://php.net/manual/es/function.extract.php
extract($args);
## Variables para las preferencias del Widget
$tittle = apply_filters('widget_title', $instance['title'] );
$contenido = $instance['contenido'];
## Antes del Widget (Defininido por el theme)
echo $before_widget;
$title = "Horóscopo";
if($title){
echo $before_title. $title . $after_title;
}
## Imágenes Aleatórias
$imagen = array("aries", "tauro", "geminis", "cancer", "leo", "virgo", "libra", "escorpio", "sagitario", "capricornio", "acuario", "piscis");
$i = rand(0, 11);
$directorio = "/wp-content/plugins/wp-horoscope/images/".$imagen[$i];
## URL Comprueba
$url_comprueba = $_SERVER['DOCUMENT_ROOT'].$directorio;
## URL Completa
$url_completa = "http://".$_SERVER['SERVER_NAME'].$directorio;
## Función que coprueba la extensión del archivo.
if(file_exists($url_comprueba.".gif")){
$extension = ".gif";
}else{
$extension = ".png";
}
## Contenido
// Se lee el contenido del .xml para ponerlo al lado de la imagen
$xml = simplexml_load_file("http://".$_SERVER['SERVER_NAME']."/wp-content/plugins/wp-horoscope/horoscopo.xml");
$cont = 1;
// Imprimir el nombre
echo $xml->getName() . "<br />";
foreach($xml->children() as $child){
echo $child->getName() . ": " . $child . "<br />";
}
/*
foreach ($xml->children() as $sign) {
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;
}
*/
$directorio = "<div style='text-align:left; height:125px;'><a href='http://".$_SERVER['SERVER_NAME']."/horoscopo/'><img src='".$url_completa. $extension."' alt='".$imagen[$i]."' align='left'></a> <span style='position:relative; top:25px;'><a href='http://".$_SERVER['SERVER_NAME']."/horoscopo/'>Prueba de jojojojojojojojo.</a></span></div>";
echo __($directorio, 'horoscopo') . '<p>', $contenido;
##*Después del Widget (Definido por el theme)
echo $after_widget;
}
// Actualización del Widget
function update( $new_instance, $old_instance){
$instance = $old_instance;
## strip_tags: Más info - http://php.net/manual/es/function.strip-tags.php
$instance['title'] = strip_tags($new_instance['title']);
$instance['contenido'] = strip_tags($new_instance['contenido']);
return $instance;
}
}
?>
Gracias