diff options
Diffstat (limited to 'scripts/xml-simple-dump.pl')
-rwxr-xr-x | scripts/xml-simple-dump.pl | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/scripts/xml-simple-dump.pl b/scripts/xml-simple-dump.pl new file mode 100755 index 00000000..909517c9 --- /dev/null +++ b/scripts/xml-simple-dump.pl @@ -0,0 +1,25 @@ +# $Id$ +# +# XML::Simple is relatively easy to use (have you looked at the +# alternatives?) but sometimes even XML::Simple's internal +# representation is not immediately obvious. On days when it'd be +# easier to write the XML by hand and let a machine tell you how +# XML::Simple would represent it, run this script. + +eval 'exec perl -w -S $0 ${1+"$@"}' + if 0; + +use strict; +use XML::Simple; +use Data::Dumper; + +my $xs = XML::Simple->new(KeepRoot => 1, + ForceArray => [qw(list_class)], + KeyAttr => [qw(header)], + NormalizeSpace => 2); + +my @xml = <>; +shift(@xml) while (@xml && $xml[0] =~ /^\s*$/); +$xml[0] =~ s/^\s+// if (@xml); + +print(Dumper($xs->XMLin(join('', @xml)))); |