Foros del Web » Programando para Internet » PHP »

problema para cargar namespace con simplexml

Estas en el tema de problema para cargar namespace con simplexml en el foro de PHP en Foros del Web. hola, soy nuevo en este foro. tengo un problema al cargar un xml el cual contiene por obligacion 3 direcciones web en el namespace. no ...
  #1 (permalink)  
Antiguo 07/11/2011, 08:19
 
Fecha de Ingreso: noviembre-2011
Mensajes: 11
Antigüedad: 12 años, 5 meses
Puntos: 0
Pregunta problema para cargar namespace con simplexml

hola, soy nuevo en este foro. tengo un problema al cargar un xml el cual contiene por obligacion 3 direcciones web en el namespace. no se si sera por eso o simplemente porque la libreria no es compatible. La pagina web me carga el dato que necesito, pero me lanza 3 warning, pero no he podido encontrar porque falla.

<assertion xsi:schemaLocation="http://www.imsglobal.org/xsd/imsassert_v1p0 http://www.imsglobal.org/xsd/imsassert_v1p0.xsd http://www.imsglobal.org/xsd/imslip_v1p0 http://www.imsglobal.org/xsd/imslip_v1p0.xsd">
<lip:contentype>
<lip:referential>
<lip:indexid>assertion_01</lip:indexid>
</lip:referential>
</lip:contentype>
<assertion>

el dato que esta en negrita es el que quiero rescatar, el cual lo hace, pero me lanza el siguiente warning:

Warning: simplexml_load_file() [function.simplexml-load-file]: C:/AppServ/www/boxedtype/temp/9531/reflexion.xml:2: parser warning : xmlns:lip: 'http://www.imsglobal.org/xsd/imsreflex_v1p0 http://www.imsglobal.org/xsd/imsreflex_v1p0.xsd http://www.imsglobal.org/xsd/imslip_v1p0 http://www.imsglobal.org/xsd/imslip_v1p0.xsd ' is not a valid URI in C:\AppServ\www\boxedtype\metadatos.php on line 11

Warning: simplexml_load_file() [function.simplexml-load-file]: www.imsglobal.org/xsd/imslip_v1p0 http://www.imsglobal.org/xsd/imslip_v1p0.xsd " in C:\AppServ\www\boxedtype\metadatos.php on line 11

Warning: simplexml_load_file() [function.simplexml-load-file]: ^ in C:\AppServ\www\boxedtype\metadatos.php on line 11


aqui les dejo el codigo que utilice para recorrer el xml:

Código PHP:
$xml simplexml_load_file($ruta."/assertion.xml");
     
     
$ns =  $xml->getNamespaces(true);
     
$xml->registerXPathNamespace('c',$ns['lip']);
     
$contentype $xml->xpath('//c:indexid');
     echo 
$contentype[0]; 
saludos y muchas gracias de antemano. ojala puedan ayudarme.
  #2 (permalink)  
Antiguo 07/11/2011, 09:07
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 12 años, 9 meses
Puntos: 181
Respuesta: problema para cargar namespace con simplexml

Según el warning que aparece ahí dice que no es una URI valida. Lo cual me daria a entender que estas tratando de leer un xml en una ruta equivocada. En segundo lugar estas leyendo mal el path del dato que deseas utilizar. Te aconsejo que vayas a la pagina oficial de php y veas los ejemplos de la comunidad sobre el uso de simplexml_load_file. Es muy sencillo de usar y con los ejemplos quedara mas que claro.
  #3 (permalink)  
Antiguo 07/11/2011, 12:09
 
Fecha de Ingreso: noviembre-2011
Mensajes: 11
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: problema para cargar namespace con simplexml

hola, muchas gracias por responder a mi consulta. el problema es que el xml SI me lo lee, pues rescata el dato que aparece ahi y lo muestra en pantalla. Ahora, puede que sea un problema de namespaces (cosa que no he podido solucionar), pero la ruta del esquema es la correcta, ademas he revisado la documentacion de php, pero sin resultados. saludos.

Última edición por kaiser_amrod; 07/11/2011 a las 12:10 Razón: agregar mas informacion
  #4 (permalink)  
Antiguo 07/11/2011, 19:37
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 12 años, 9 meses
Puntos: 181
Respuesta: problema para cargar namespace con simplexml

Podrias decir cual es la linea 11 donde genera el problema? Seria bueno mirar todo el código para tratar de encontrar el error. No parece un error grave pero seria bueno mirar el codigo globalmente.
  #5 (permalink)  
Antiguo 08/11/2011, 06:26
 
Fecha de Ingreso: noviembre-2011
Mensajes: 11
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: problema para cargar namespace con simplexml

hola, la linea 11 es la que se encarga de cargar el xml:

Código PHP:
$xml simplexml_load_file($ruta."/assertion.xml"); 

Actualizacion: Logré rescatar todos los datos que quería, pero me seguía marcando los warning, asi que opte por ocultarlos. no se si sea buena idea, pero, me entrega lo que necesito.

muchas gracias por tus respuestas.
saludos.

Etiquetas: simplexml_load_file, warning
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 04:25.