• Publicidad

Ordenar elementos de salida de un xml utilizando XML::TreePP

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Ordenar elementos de salida de un xml utilizando XML::TreePP

Notapor Damian » 2009-11-25 05:07 @255

Hola,

estoy trabajando con ficheros xml y para ello estoy utilizando el módulo XML::TreePP.

Estoy atascado con algo que debe ser bastante fácil, pero no consigo hacer. Quiero que los campos de un árbol salgan ordenados de una determinada manera cuando se escribe el xml, y no se ordenen alfabéticamente como hace por defecto. Para ello intento utilizar la opción first_out de la siguiente manera:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
my $tpp80 = XML::TreePP->new(%first_out);

##Voy dando diferentes valores a diferentes campos
$tree_to_send->{Message}->{msgId}=$str;
$tree_to_send->{Message}->{msgTimeStamp}=$theTime;

###Intento fijar el orden
$tree_to_send->set( %first_out => ['msgId','msgTimeStamp'] );
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4


Sin embargo, me sale el siguiente error:
Can't call method "set" on unblessed reference

¿Hay algo que estoy haciendo mal?

Muchas gracias por adelantado.
Última edición por explorer el 2009-11-25 05:10 @257, editado 1 vez en total
Razón: Estilo, bloques de código
Damian
Perlero nuevo
Perlero nuevo
 
Mensajes: 7
Registrado: 2009-10-23 06:28 @311

Publicidad

Re: Ordenar elementos de salida de un xml utilizando XML::TreePP

Notapor explorer » 2009-11-25 05:19 @263

El error quiere decir que en $tree_to_send no hay un objeto.

En cuanto a que salgan en un determinado orden, no debería ser importante, siendo un xml, pero si es necesario, veo que el módulo incorpora, la opción use_ixhash(), que permite guardar/recuperar los elementos en el orden en que fueron leídos/creados de/en el XML. Necesitarás tener instalado el módulo Tie::IxHash. Eso sí, ya te advierten que hacer eso puede enlentecer hasta un 100% la interpretación del fichero xml.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados