Created
July 27, 2010 03:46
-
-
Save aanoaa/491695 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env perl | |
### begin_: file metadata | |
### <region-file_info> | |
### main: | |
### - name : XMLPrettyPrint: simple xml pretty print in perl | |
### desc : use perl with XML::Twig library to print indented xml | |
### date : created="Thu 2005-12-01 11:08:15" | |
### last : lastmod="Thu 2005-12-01 11:22:34" | |
### lang : perl | |
### tags : perl xml indent formatted pretty string cfPrettyPrint | |
### </region-file_info> | |
### begin_: init perl | |
use strict; | |
use warnings; | |
use File::Slurp qw/slurp/; | |
use XML::Twig; | |
### begin_: init vars | |
my $sXML = join "", (<DATA>); | |
$sXML = slurp $ARGV[0] if @ARGV; | |
### init params | |
my $params = [qw(none nsgmls nice indented record record_c)]; | |
my $sPrettyFormat = $params->[3] || 'none'; | |
### begin_: process | |
my $twig= new XML::Twig; | |
$twig->set_indent(" "x4); | |
$twig->parse( $sXML ); | |
$twig->set_pretty_print( $sPrettyFormat ); | |
$sXML = $twig->sprint; | |
### begin_: output | |
print $sXML; | |
### begin_: sample data | |
1; | |
__END__ | |
<table><tr age="35" > | |
<fname>Homer</fname> | |
<lname>Simpson</lname></tr> | |
<tr age="33" > | |
<fname>Barney</fname> | |
<lname>Rubble</lname></tr> | |
<tr age="29" > | |
<fname>Betty</fname> | |
<lname>Rubble</lname></tr></table> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment