Cargando

Unir dos XML con Perl




Pulsa corazón para recibir avisos de nuevas Respuestas

  AUTOR PREGUNTA

Publicado 07 febrero 2014 - 00:12
[color=#000000][font=Arial][size=4]Me gustaría unir dos archivos XML usando el lenguaje de programación Perl. Les dejo mis XML los cuales quiero unir: [/size][/font][/color]

Archivo 1:
[color=#000000][font=Arial][size=4]
<req1>
<rutas>
	 <dir>/usr/bin</dir>
	 <dir>/usr/local/bin</dir>
</rutas>
</req1>
[/size][/font][/color]
[color=#000000][font=Arial][size=4]Archivo 2:[/size][/font][/color]
[color=#000000][font=Arial][size=4]
<req2>
<user login="josep" fullname="Jose Perez" />
<user login="adrie" fullname="Adriana Ezequiel" />
</req2>
[/size][/font][/color]
[color=#000000][font=Arial][size=4]Muchas gracias de antemano por su ayuda.[/size][/font][/color]
  • ¿Tienes la misma pregunta? Yo también
  • Volver arriba

 

Publicado 07 febrero 2014 - 15:19
Con el siguiente código los puedes unir, he usado los dos XML que dejaste como base, te lo dejo a continuación:

use strict;
use warnings;
use XML::LibXML;
my $parser = XML::LibXML->new();
my $xml1 = $parser->parse_string( <<'XML' );
<req1>
   <rutas>
	 <dir>/usr/bin</dir>
	 <dir>/usr/local/bin</dir>
   </rutas>
</req1>
XML
my $xml2 = $parser->parse_string( <<'XML' );
<req2>
  <user login="josep" fullname="Jose Perez" />
  <user login="adrie" fullname="Adriana Ezequiel" />
</req2>
XML
my $new_xml = XML::LibXML::Element->new( 'XML' );
$new_xml->appendWellBalancedChunk( $xml1->documentElement()->toString() );
$new_xml->appendWellBalancedChunk( $xml2->documentElement()->toString() );
print $new_xml->toString(1);


   AUTOR PREGUNTA

Publicado 07 febrero 2014 - 18:04
Excelente Felipe, me funciono de maravilla. Gracias!


X