Foros del Web » Programando para Internet » PHP »

Parse XML

Estas en el tema de Parse XML en el foro de PHP en Foros del Web. hola foreros.. quisiera saber si hay alguna manera de obtener los datos dentro de las etiquetas de tags de un XML.. ejemplo: Código PHP: < ...
  #1 (permalink)  
Antiguo 31/07/2009, 12:02
Avatar de elcamaleon007  
Fecha de Ingreso: julio-2004
Ubicación: Asunción - Paraguay
Mensajes: 256
Antigüedad: 19 años, 9 meses
Puntos: 0
Parse XML

hola foreros..

quisiera saber si hay alguna manera de obtener los datos dentro de las etiquetas de tags de un XML..
ejemplo:
Código PHP:
<Tag2 NodeId="2">
    <
Commercial url="http://www.image.com" width="320" height="240" LengthInSec="5" ViewType="Big" />
    <
Banner clickUrl="http://www.asdf.com/banner71.gif" jumpUrl="http://www.google.com" width="120" height="60" />
</
Tag2
entonces lo que quiero es obtener los datos dentro del tag "Commercial"
y sacar independientemente:
url, width, height, LeghtInSec, etc..

alguna ayudita porfa? gracias =)
__________________
La diferencia entre el 1ro y el 2do son milésimas..si hariamos un poco mas de lo que hacemos normalmente..bue, creo que ya entendiste...Exitos!
  #2 (permalink)  
Antiguo 31/07/2009, 12:09
 
Fecha de Ingreso: abril-2009
Mensajes: 24
Antigüedad: 15 años
Puntos: 0
Respuesta: Parse XML

Yo toy intentando hacer un spider, y saco el codigo html de las web , no se si esto te puede servir.

Código PHP:
$url file_get_contents(url del archivo que quieras abrir);

$extraer_link preg_match_all("/(?#WebOrIP)((?#protocol)((http|https):\/\/)?(?#subDomain)(([a-zA-Z0-9]+\.(?#domain)[a-zA-Z0-9\-]+(?#TLD)(\.[a-zA-Z]+){1,2})|(?#IPAddress)((25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])))+(?#Port)(:[1-9][0-9]*)?)+(?#Path)((\/((?#dirOrFileName)[a-zA-Z0-9_\-\%\~\+]+)?)*)?(?#extension)(\.([a-zA-Z0-9_]+))?(?#parameters)(\?([a-zA-Z0-9_\-]+\=[a-z-A-Z0-9_\-\%\~\+]+)?(?#additionalParameters)(\&([a-zA-Z0-9_\-]+\=[a-z-A-Z0-9_\-\%\~\+]+)?)*)?/i",
$url,
$respuestas); 

if (
$extraer_link
    foreach(
array_unique($respuestas[0]) as $link
echo 
$link "<br />"
Este codigo lo que hace es extraer el codigo del archivo que le indiques , luego con las expresiones regulares sacar las cosas yo te puse para que saques los url ( si te sirve te doy otras para los meta tag), por ultimo mete los link en un array y elimina los duplicados, para por fin mostrarlos en pantalla.


Edito : he probado con mi xml del site map y funciona , tenia dudas si el mismo codigo serviria para xml pero si va bien si quieres te pongo como sacar lo demas.
Un saludo

Última edición por Mercader; 31/07/2009 a las 12:16
  #3 (permalink)  
Antiguo 31/07/2009, 20:16
 
Fecha de Ingreso: enero-2009
Mensajes: 408
Antigüedad: 15 años, 3 meses
Puntos: 14
Respuesta: Parse XML

Hola , no has probado las funciones para manejar xml de php , en realidad es una pseudolibreria pero esta en forma nativa , te dejo el link.

http://ar.php.net/manual/en/book.simplexml.php

Cualquier consulta , volve a este mismo tema.

Saludos!
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 18:32.