Foros del Web » Programando para Internet » PHP »

Obtener xml via web

Estas en el tema de Obtener xml via web en el foro de PHP en Foros del Web. Buenos Dias Veran necesito obtener un xml mediante php de la siguiente forma: El usuario escribe una url en la que le devuelve un xml ...
  #1 (permalink)  
Antiguo 06/11/2010, 06:42
50l3r
Invitado
 
Mensajes: n/a
Puntos:
Obtener xml via web

Buenos Dias

Veran necesito obtener un xml mediante php de la siguiente forma:

El usuario escribe una url en la que le devuelve un xml en pantalla, y necesito con php coger toda la informacion de ese xml

He visto un codigo como este:

Código PHP:
<?php
    $url 
"URL DEL XML";
    
$fp fopen$url'r' );
    
$content "";
    while( !
feof$fp ) ) {
    
$buffer trimfgets$fp4096 ) );
    
$content .= $buffer;
}
echo 
$content;
?>
Pero del xml no te devuelve las etiquetas sino que unicamente los strings, y yo necesito las etiquetas para poder identificar los datos

Alguien me podria ayudar?
  #2 (permalink)  
Antiguo 06/11/2010, 06:46
50l3r
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Obtener xml via web

he probado con esto tambien

Código PHP:
<?
$archivo 
'rss.xml';
if (
file_exists($archivo)) {
  
$noticias simplexml_load_file($archivo); 
  if(
$noticias){
    foreach (
$noticias->item as $noticia) { 
      echo 
"<b>$noticia->title:</b> ";
      echo 
"$noticia->description<br><br>n"
    }
  } else echo 
"Sintaxi XML inválida";
} else echo 
"Error abriendo rss.xml"
?>
Pero aqui necesitas que sea un xml ya generado y mi url no acaba en .xml sino que llamas a una funcion que retorna un xml

alguien sabe?
  #3 (permalink)  
Antiguo 06/11/2010, 06:47
50l3r
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Obtener xml via web

solucionado, el primer script lo hace pero las etiquetas no las muestra por que no se trataban con htmlentities

Etiquetas: 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:41.