Auto Ident XML
Identação para XML.
Modo de utilização:
echo "<?xml version="1.0" encoding="UTF-8"?><from>Teste</from><message>viva o linux</message>" | perl ident_xml.pl
<?xml version=1.0 encoding=UTF-8?>
<from>Teste</from>
<message>viva o linux</message>
Modo de utilização:
echo "<?xml version="1.0" encoding="UTF-8"?><from>Teste</from><message>viva o linux</message>" | perl ident_xml.pl
<?xml version=1.0 encoding=UTF-8?>
<from>Teste</from>
<message>viva o linux</message>
Descrição
Identação para XML.
Modo de utilização:
echo "<?xml version="1.0" encoding="UTF-8"?><from>Teste</from><message>viva o linux</message>" | perl ident_xml.pl
<?xml version=1.0 encoding=UTF-8?>
<from>Teste</from>
<message>viva o linux</message>
Modo de utilização:
echo "<?xml version="1.0" encoding="UTF-8"?><from>Teste</from><message>viva o linux</message>" | perl ident_xml.pl
<?xml version=1.0 encoding=UTF-8?>
<from>Teste</from>
<message>viva o linux</message>
#!/usr/bin/perl
use strict;
use warnings;
my $xml = '';
while (<STDIN>) { $xml .= $_; }
$xml =~ s|>[\n\s]+<|><|gs;
$xml =~ s|><|>\n<|gs;
my $indent = 0;
for my $x (split /\n/, $xml) {
if ($x =~ m|^</|) { $indent--; }
print ' 'x$indent, $x, "\n";
if ($x =~ m|^<[^/\?]|) { $indent++; }
if ($x =~ m|^<[^/][^>]*>[^<]*</|) { $indent--; }
if ($x =~ m|^<[^/][^>]*/>|) { $indent--; }
}
OBRIGADUUU!