Foros del Web » Programación para mayores de 30 ;) » Programación General »

funcion para hacer mensajes xml

Estas en el tema de funcion para hacer mensajes xml en el foro de Programación General en Foros del Web. Hola, muy buenas, yo queria preguntar si esto se puede hacer Código PHP: function smsXml () {          $num_args = func_num_args();     $lista_args = func_get_args();     $cadena = "<<<XML <?xml version = '1.0'  encoding = 'utf-8' ?> ...
  #1 (permalink)  
Antiguo 17/06/2008, 09:46
Avatar de elphaba  
Fecha de Ingreso: abril-2008
Ubicación: Ávila
Mensajes: 43
Antigüedad: 16 años, 6 meses
Puntos: 0
funcion para hacer mensajes xml

Hola, muy buenas,

yo queria preguntar si esto se puede hacer

Código PHP:
function smsXml () {
     
   $num_args = func_num_args(); 
   $lista_args = func_get_args(); 
   $cadena = "<<<XML
<?xml version='1.0' encoding='utf-8'?>
    <operation>";

   for ($i=0;$i<$num_args;$i++) {
       $cadena = $cadena."<param$i>".$lista_args[$i]."</param$i>";
   }

   $cadena = $cadena."</operation>
XML;";
   return $cadena;   
}
La llamada a la funcion es
Código PHP:
$xml smsXml($op,$id_user,$us);
$dat = new SimpleXMLElement($xml); 
Es una funcion con parametros indefinidos, a la que se le pasan unas variables
y supuestamente te crea o deberia crear algo asi:

Código:
$xml = <<<XML
<?xml version='1.0' encoding='utf-8'?>
		<operation>
		<param0>$op</param>
		<param1>$id_user</param1>
		<param2>$us</param2>
		</operation>
XML;
Lo que pasa es que no sé si esa funcion esta bien, o hay alguna otra forma de hacerlo. Gracias!!
  #2 (permalink)  
Antiguo 17/06/2008, 09:58
Avatar de aloqui  
Fecha de Ingreso: diciembre-2007
Mensajes: 973
Antigüedad: 16 años, 11 meses
Puntos: 24
Respuesta: funcion para hacer mensajes xml

Tal y como está no va a funcionar. Debes hacer algo para codificar correctamente las "entities", pues sino el XML va a estar mal formado en cuando en los argumentos se reciban cadenas que contengan caracteres como por ejemplo: "&", "<", etc.
__________________
Grupos de Música
Pop Music Stars
  #3 (permalink)  
Antiguo 17/06/2008, 10:32
Avatar de elphaba  
Fecha de Ingreso: abril-2008
Ubicación: Ávila
Mensajes: 43
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: funcion para hacer mensajes xml

Cita:
Iniciado por aloqui Ver Mensaje
Tal y como está no va a funcionar. Debes hacer algo para codificar correctamente las "entities", pues sino el XML va a estar mal formado en cuando en los argumentos se reciban cadenas que contengan caracteres como por ejemplo: "&", "<", etc.
Perdona, pero nose muy bien a lo que te refieres, me lo podrias explicar!!??
  #4 (permalink)  
Antiguo 18/06/2008, 16:24
 
Fecha de Ingreso: marzo-2008
Mensajes: 306
Antigüedad: 16 años, 7 meses
Puntos: 6
Respuesta: funcion para hacer mensajes xml

Se refiere a que en xml no puedes poner "tal cual" ciertos caracteres como el '&'; en su lugar debes poner '&amp;', y lo mismo para muchos otros caracteres especiales.
Puedes leer más sobre ésto aqui: http://en.wikipedia.org/wiki/List_of...ity_references
__________________
Pop & Rock Bands
Pop Music Stars
  #5 (permalink)  
Antiguo 19/06/2008, 01:36
Avatar de elphaba  
Fecha de Ingreso: abril-2008
Ubicación: Ávila
Mensajes: 43
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: funcion para hacer mensajes xml

Seria algo asi??

Código PHP:
function smsXml() {
   
/* Crea un mensaje Xml. No tiene el numero de parámetros definidos.*/
   
   
$num_args func_num_args(); 
   
$lista_args func_get_args(); 

   
$cadena "&lt&lt&ltXML
&lt?xml version=&APO1.0&APO encoding=&APOutf-8&APO?&GT
    &ltoperation&GT"
;
   for (
$i=0;$i<$num_args;$i++) {
       
$cadena $cadena."&ltparam$i&GT".$lista_args[$i]."&lt/param$i&GT";
   }
   
$cadena $cadena."&lt/operation&GT
XML;"
;

   return 
$cadena;
   

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 14:27.