Exemplo n.º 1
0
function xml_encode($valor)
{
    return toba_xml_tablas::encode($valor);
}
Exemplo n.º 2
0
 static function array_a_payload($array, $nivel = 0, $clave_padre = '')
 {
     $salida = '';
     $tab = str_repeat("\t", $nivel);
     foreach ($array as $clave => $valor) {
         $empieza_con_numero = strlen($clave) > 0 && ctype_digit(substr($clave, 0, 1));
         if ($empieza_con_numero && is_string($clave)) {
             throw new toba_error_def("El arreglo contiene una clave asociativa ({$clave}) que comienza con un número, XML no acepta tags que comienzen con numeros");
         }
         if ($empieza_con_numero) {
             $clave = self::id_fila_generica . $clave_padre;
             //El xml no puede tener claves numericas, se define una clave unica para los posicionales
         }
         $clave = toba_xml_tablas::encode($clave);
         $salida .= "{$tab}<{$clave}>";
         if (is_array($valor)) {
             $salida .= "\n" . self::array_a_payload($valor, $nivel + 1, $clave);
             $salida .= "{$tab}</{$clave}>\n";
         } else {
             $valor = toba_xml_tablas::encode($valor);
             $salida .= $valor;
             $salida .= "</{$clave}>\n";
         }
     }
     return $salida;
 }