Página 1 de 1

Guardar xml en variable php

Publicado: Lun Dic 20, 2010 11:27 am
por arz11
que tal buenas tardes.

tengo un problema que no se por donde empesar a atacarlo y quisiera saber si algien me puede ayudar.

el problema es que tengo que enviar un archivo xml a una url pero no se como enviar mi xml a una variable de php para que yo pueda cargarla en la url ya tengo hecho el codigo para subir el xml pero actualmente tengo practicamente que copiar el xml que creo y pegarlo a una variable de php para que pueda enviar el xml.

estube investigando como puedo hacerlo y encontre que puedo utilizar las Funciones SimpleXML pero nose como utilizarla o si realmente sirve para mi proposito

si algien puede ayudarme con esto se los agradesere.

otra solicion seria guardar mi xml en la base de datos pero se me hace repetir informacion si ya tengo el xml creado guardarlo en la base de datos ademas que va a ocupar mas espacio pero bueno si no encuentro solucion para esto. tendre que hacerlo de esta forma.

de antemano muchas gracias segire investigando

Re: Guardar xml en variable php

Publicado: Vie Dic 24, 2010 11:41 am
por jinkp
Saludos

Podrias utilizar el fopen de php, para abrir el archivo y almacenarlo en una variable de php

//esto es con el fopen y simplexml_load_string
$ruta="archivo.xml";
$datosXml = fopen($ruta, "r"); //con esto ya lo tienes asignado a la variable
$xmlSimple = simplexml_load_string($datosXml); //genera un objeto de tipo SimpleXMLElement
print_r($xml);

// o podrias utilizar el simplexml_load_file
if (file_exists($ruta)) {
$xml = simplexml_load_file($ruta); //genera un objeto de tipo SimpleXMLElement
$datosXml=(array)$xml; //hacemos un cast de tipo Array, para poder manipular los nodos
print_r($xml); //esto te imprime en pantalla
} else {

}


Ya con los datos cargados ya podemos manipularlos.

espero te pueda servir y si es lo que buscabas

Re: Guardar xml en variable php

Publicado: Jue Feb 24, 2011 5:26 pm
por arz11
gracias jinkp

muy wena observacion si me sirvio gracias

Re: Guardar xml en variable php

Publicado: Mié Jul 20, 2011 8:29 am
por agmichaca
Probe lo que pusiste sin embargo solo obtengo el primer nivel del XML. ¿Como lees los siguientes nodos con simpleXML?
Gracias

Re: Guardar xml en variable php

Publicado: Mié Jul 20, 2011 11:49 am
por agmichaca
Ya tengo la respuesta la pongo si alguien mas la necesita para SimpleXML con cfdi:

Código: Seleccionar todo

foreach ($xml->xpath('//cfdi:Comprobante//cfdi:Emisor') as $emisor)
  echo $emisor['nombre']."<br />";
  echo $emisor['rfc'];
Y asi para cada nivel.
Saludos.