[Perl] Re: saludos y xml::simple
Antonio Galindo Castro
funkymonster en gmail.com
Mar Nov 8 15:24:02 CST 2005
> use XML::Simple;
>
> my $fichero = <>;
> my $config = XMLin ($fichero);
>
> print $fichero->{unadelasetiquetas};
Hola, de entrada no entiendo por que quieres hacer las cosas desde dos
programas distintos, pero bueno...
Prueba así:
xml.pl
---------------------------------
#!/usr/local/bin/perl
use strict;
use warnings;
use XML::Simple;
my $arch = shift;
my $ref = XMLin ($arch);
foreach my $etiqueta (keys %{$ref}) {
print "$etiqueta $ref->{$etiqueta}\n";
}
-------------------------------------------
Como puedes ver que lo que se utiliza para hacer el print es la
referencia a la hash con los datos de archivo xml ($ref) y no el
argumento ($arch) donde debería estar el nombre del archivo.
Que tan compleja va a resultar ser tu estructura, bueno pues eso de
depende directamente del archivo que le pases. Entonces de una vez
conoces la estructura de tus archivos y llamas a las partes que
nesecitas, o lo parseas para buscar lo que quieres. Lee la
documentación: http://search.cpan.org/~grantm/XML-Simple-2.14/lib/XML/Simple.pm
Para probarlo use este sencillo archivo xml:
prueba.xml
------------------------------------
<opt>
<username>testuser</username>
<password>frodo</password>
</opt>
-------------------------------------
Y lo corrí así:
# ./xml.pl prueba.xml
Bueno, espero esto te sea útil.
Toño "FunkyM0nk3y"
Más información sobre la lista de distribución Perl