Para modificar un XML al vuelo, a lo mejor te interesa más utilizar XML::Twig o
directamente con una transformación XSLT, sin usar Perl.
A mi XML::Simple no me gusta nada, creo que se pasa tratando de simplificar las
cosas y siempre me decanto por XML::LibXML aunque es cierto que resulta más
laborioso (pero lo compensa con el soporte para RelaxNG).
- Salva
________________________________
From: Francisco Rivas <[email protected]>
To: Lista de correo de Madrid Perl Mongers <[email protected]>
Sent: Wed, April 27, 2011 6:39:16 PM
Subject: [Madrid-pm] Parsear un XML
Hola *,
Quiero hacer un script para modificar un XML y he encontrado varios modulos en
el CPAN que lo hacen XML::LibXML y XML::Simple por ejemplo. El detalle es que
la
forma del XML que tengo es biiiienn extrana :P, puesto que tiene varios
niveles.
Entonces lo que quiero hacer con el XML es quitarle algunos elementos y
modificar otros. Estoy utilizando por el momento XML::Simple, soy bastante
novato en Perl y por eso recurro a la lista.
#!/usr/bin/perl
use strict;
use warnings;
use XML::Simple;
use Data::Dumper;
$Data::Dumper::Indent = 3;
my $fh = 'BookatableWid_asset.xml';
my $tree = XMLin($fh);
delete $tree->{protocolVersion};
print Dumper($tree);
En esto que llevo hecho, que es una tonteria al final, solo elimino una de las
'keys' que me interesa.
El detalle esta en que luego hay hash de hashes de hashes dentro del XML. Miren
http://pastebin.com/muT2zH9E
Entonces necesito iterar en esa estructura para buscar las 'keys' que quiero
modificar o eliminar incluso.
Algunas recomendacion?. usar otro modulo?, utilizar ForceArray o ForceContent,
GroupTags o algo asi?
Gracias de antemano. Muy buena tarde. :D_______________________________________________
Madrid-pm mailing list
[email protected]
http://mail.pm.org/mailman/listinfo/madrid-pm