Foros del Web » Programando para Internet » PHP »

curl y new DOMDocument()

Estas en el tema de curl y new DOMDocument() en el foro de PHP en Foros del Web. Como puedo leer un xml via curl (php) y asociar lo que recivo al DOM de xml. Me explico, como ya conte en un post ...
  #1 (permalink)  
Antiguo 14/01/2009, 12:57
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
curl y new DOMDocument()

Como puedo leer un xml via curl (php) y asociar lo que recivo al DOM de xml.

Me explico, como ya conte en un post anterior he construido un lector de RSS para publicar indices... hasta aqui todo bien

Código PHP:
$xml="http://www.dominio.ext/rss/rss_all.xml";
$xmlDoc = new DOMDocument();
$xmlDoc->load($xml);
//get elements from "<channel>"
$channel=$xmlDoc->getElementsByTagName('channel')->item(0);

//....sigue... 
el problema es que mi servidor tiene allow_url_fopen en off y no quieren activarlo por razones de seguridad.

Por ahi he leido que con curl se puede sortear ese control no acabo de tener claro como funciona pero suponiendo que consigo leer el xml externo el siguiente problema sera pasar lo com un documento xml para poder usar el DOM.

La idea seria

Código PHP:
$xml="http://www.dominio.ext/rss/rss_all.xml";
$xmlDoc = new DOMDocument();

//$xmlDoc->load($xml); No usar load puesto que 
//                                   allow_url_fopen en off no lo permite

//no se si seria asi...
$ch curl_init($xml);
$xmlDoc =curl_multi_getcontent($ch);
curl_close($ch);
//final suposición...

//get elements from "<channel>"
$channel=$xmlDoc->getElementsByTagName('channel')->item(0);

//....sigue... 
Tal cual da el siguiente error

Fatal error: Call to a member function getElementsByTagName() on a non-object in /va..../html/noticies2.php on line 19

donde 19 es:
$channel=$xmlDoc->getElementsByTagName('channel')->item(0);

Esta claro que no se ha asociado bien un objeto con el otro...

Alguna sugerencia....ejemplo o corrección.

Gracias.

Quim

Última edición por quimfv; 14/01/2009 a las 13:11
  #2 (permalink)  
Antiguo 14/01/2009, 13:49
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: curl y new DOMDocument()

Código PHP:
$ch curl_init($xml);
curl_setopt($chCURLOPT_RETURNTRANSFER1);
$xmlDoc->loadXML(curl_exec($ch));
curl_close($ch); 
hecho....

Apartado DESCARGAS de esta web


Gracias.

Quim

Última edición por quimfv; 15/01/2009 a las 02:05
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 23:38.