in reply to Re: Multiple XML files from Directory to One XML file using perl.
in thread Multiple XML files from Directory to One XML file using perl.

Hi, Can any one provide some example scripts that add multiple XML files into One XML file

  • Comment on Re^2: Multiple XML files from Directory to One XML file using perl.

Replies are listed 'Best First'.
Re^3: Multiple XML files from Directory to One XML file using perl.
by marto (Cardinal) on Nov 18, 2011 at 15:37 UTC

      Hi, I tried like this by using XML::LibXML::Reader

      #!/usr/bin/perl use warnings; use strict; use Carp; use File::Find; use File::Spec::Functions qw( canonpath ); use XML::LibXML::Reader; use Data::Dumper; my $INFO; my @ARGV ="C:/file/dir"; die "Need directories\n" unless @ARGV; find( sub { my $file = $_; #my $path = canonpath $File::Find::name; my $path =$_; return unless -f $path; return unless $file =~ /[.]xml\z/i; extract_information($path); return; }, @ARGV ); sub extract_information { my( $path)=@_; my $ret = open my $xmlin, '<', $path; unless ($ret) { carp "Cannot open '$path': $!"; return; } my $reader = XML::LibXML::Reader->new(IO => $xmlin); unless ($reader) { carp "Cannot create reader using '$path'"; return; } while ($reader->nextElement('shipto')) { $INFO = $reader->readOuterXml(); print "$INFO\n"; } close $xmlin or carp "Cannot close '$path': $!"; return; }

      but I have two problem in this script

      1) I am extracting information from all XML files Having "shiporder" Node element, But in one XML file I have data with some other Node element "definition" I am not extracting that information, What should I do if I want to extract that information and store in the same variable.

      2) After extracting all information That is stored in a $INFO varible, I want to store that $INFO variable information in one xml file how can I do that one. Please help me.

Re^3: Multiple XML files from Directory to One XML file using perl.
by Anonymous Monk on Nov 18, 2011 at 15:37 UTC