• Publicidad

Perl y XML

¿Ya sabes lo que es una referencia? Has progresado, el nível básico es cosa del pasado y ahora estás listo para el siguiente nivel.

Perl y XML

Notapor jomarq » 2015-01-13 12:38 @568

Buenas tardes, amigos perlianos.

Mi duda es acerca de esta estructura en XML:
Sintáxis: [ Descargar ] [ Ocultar ]
Using xml Syntax Highlighting
  1. <data>
  2.   <meta>
  3.     <sender type="IMEI">400234062240570</sender>
  4.     <receiver type="E-mail Account">[email protected]</receiver>
  5.     <time>2015-01-10T19:52:06Z</time>
  6.     <protocol>SBD</protocol>
  7.     <type>NAL GPS Report 6</type>
  8.   </meta>
  9. </data>
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4


Tengo una parte de mi código en Perl que es el siguiente:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. print xml join q{|},
  2.         $datos->{meta}{sender}{type},
  3.         $datos->{meta}{receiver}{type},
  4.         $datos->{meta}{time},
  5.         $datos->{meta}{protocol},
  6.         $datos->{meta}{type};
  7. print xml "\n";
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4

El cual me da los siguientes datos:

IMEI|E-mail Account|2015-01-10T19:52:06Z|SBD|NAL GPS Report 6

Los datos que no puedo obtener son: 400234062240570 y [email protected]

Por favor, si me pudieran orientar. Se agradece cualquier apoyo recibido.
Última edición por explorer el 2015-01-13 15:16 @677, editado 2 veces en total
Razón: codigo => código; marcado;
jomarq
Perlero nuevo
Perlero nuevo
 
Mensajes: 8
Registrado: 2015-01-13 12:31 @563

Publicidad

Re: Perl y Xml

Notapor explorer » 2015-01-13 15:12 @675

Bienvenido a los foros de Perl en Español, jomarq.

Lo que me falta por saber es con qué módulo o cómo lees el xml.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Perl y Xml

Notapor jomarq » 2015-01-13 15:17 @679

Tengo estos módulos:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. use XML::Simple;
  2. use Data::Dumper;
  3. # Abro un archivo de texto "xml.txt" en la ruta para insertar en una línea los datos de mi documento xml
  4. # y los leo con el XMLin
  5. open (xml, ">>F:/codigo/xml.txt") or die "$!\n";
  6.         foreach my $a (@files){
  7.                 next if $a =~ /^\./;
  8.                 print "Archivos Cargados\n";
  9.                 print $a;
  10.                 print "\n";
  11.  
  12.                 my $datos = XMLin("F:/codigo/xml/$a");
  13.                 .............
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
Última edición por explorer el 2015-01-13 17:33 @772, editado 1 vez en total
Razón: modulos => módulos; marcado Perl; linea => línea
jomarq
Perlero nuevo
Perlero nuevo
 
Mensajes: 8
Registrado: 2015-01-13 12:31 @563

Re: Perl y XML

Notapor explorer » 2015-01-13 20:04 @878

Bueno, con la ayuda de Data::Dumper habrás visto que el contenido de las marcas que quieres obtener están dentro de una clave llamada precisamente 'content'.
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. #!/usr/bin/perl
  2. use XML::Simple;
  3.  
  4. my $xml_ref = XMLin('code_38243.xml');
  5.  
  6. print join '|'
  7.     ,$xml_ref->{'meta'}{'sender'}{'content'}
  8.     ,$xml_ref->{'meta'}{'receiver'}{'content'}
  9.     ,$xml_ref->{'meta'}{'time'}
  10.     ,$xml_ref->{'meta'}{'protocol'}
  11.     ,$xml_ref->{'meta'}{'type'}
  12.     ;
  13.  
  14. print "\n";
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Perl y XML

Notapor jomarq » 2015-01-14 08:33 @397

Gracias, "explorer", tu ayuda me solucionó el inconveniente. Tema cerrado.
Última edición por explorer el 2015-01-14 09:05 @420, editado 1 vez en total
Razón: soluciono => solucionó;
jomarq
Perlero nuevo
Perlero nuevo
 
Mensajes: 8
Registrado: 2015-01-13 12:31 @563


Volver a Intermedio

¿Quién está conectado?

Usuarios navegando por este Foro: Bing [Bot] y 5 invitados