Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Problema al recibir string con datos xml

Estas en el tema de Problema al recibir string con datos xml en el foro de PHP en Foros del Web. Buenas, estoy implementando la API de Webmaster Tools y me encuentro con el siguiente problema: Al hacer la consulta para ver los errores de rastreo ...
  #1 (permalink)  
Antiguo 11/01/2014, 06:19
 
Fecha de Ingreso: enero-2014
Mensajes: 2
Antigüedad: 10 años, 10 meses
Puntos: 0
Problema al recibir string con datos xml

Buenas, estoy implementando la API de Webmaster Tools y me encuentro con el siguiente problema:

Al hacer la consulta para ver los errores de rastreo de mi sitio, me devuelve un string con información en xml. Entre esa información que devuelve está la que necesito con el siguiente formato:

<atom:entry>
<atom:id>id</atom:id>
<wt:crawl-type>web-crawl</wt:crawl-type>
<wt:issue-type>http-error</wt:issue-type>
<wt:url>http://example.com/dir/</wt:url>
<wt:detail>4xx Error</wt:detail>
<wt:linked-from>http://example.com</wt:linked-from>
<wt:date-detected>2008-11-17T01:06:10.000
</wt:date-detected>
</atom:entry>

Bien, el problema es que al hacerle un "simplexml_load_string" a ese string, las etiquetas que están a partir de atom:entry desaparecen y con ellas su información. Si imprimo por pantalla la variable que contiene el string sin tratar, la información está ahí, pero si le paso el "simplexml_load_string", ni me deja acceder a la etiqueta ni me muestra la información por pantalla al imprimir todo el xml resultante.

No se mucho de XML así que no sé si es que esa etiqueta hay que tratarla de alguna forma especial. Agradecería cualquier ayuda.

Un saludo.
  #2 (permalink)  
Antiguo 11/01/2014, 09:26
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 11 años, 2 meses
Puntos: 578
Respuesta: Problema al recibir string con datos xml

Tienes que registrar los namespaces.
  #3 (permalink)  
Antiguo 11/01/2014, 09:27
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: Problema al recibir string con datos xml

Es extraño, yo intento lo mismo y todo perfecto.
Código PHP:
Ver original
  1. <atom:id>id</atom:id>
  2. <wt:crawl-type>web-crawl</wt:crawl-type>
  3. <wt:issue-type>http-error</wt:issue-type>
  4. <wt:url>http://example.com/dir/</wt:url>
  5. <wt:detail>4xx Error</wt:detail>
  6. <wt:linked-from>http://example.com</wt:linked-from>
  7. <wt:date-detected>2008-11-17T01:06:10.000
  8. </wt:date-detected>
  9. </atom:entry>'));

Salida:
Cita:
class SimpleXMLElement#1 (7) {
public $atom:id =>
string(2) "id"
public $wt:crawl-type =>
string(9) "web-crawl"
public $wt:issue-type =>
string(10) "http-error"
public $wt:url =>
string(23) "http://example.com/dir/"
public $wt:detail =>
string(9) "4xx Error"
public $wt:linked-from =>
string(18) "http://example.com"
public $wt:date-detected =>
string(24) "2008-11-17T01:06:10.000
"
}
Yo no veo que desaparezca nada.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #4 (permalink)  
Antiguo 13/01/2014, 10:19
 
Fecha de Ingreso: enero-2014
Mensajes: 2
Antigüedad: 10 años, 10 meses
Puntos: 0
Respuesta: Problema al recibir string con datos xml

Cita:
Iniciado por PHPeros Ver Mensaje
Tienes que [url=http://es1.php.net/manual/es/simplexmlelement.registerxpathnamespace.php]registrar los namespaces[/url].
Muchísimas gracias fenómeno! Diste en el clavo, ya lo tengo solucionado.

Un saludo.

Etiquetas: recibir, string, variable, 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 22:24.