Too bad that you can't use something like
XML::Tidy. I tried it, and it returned this:
<?xml version="1.0" encoding="utf-8"?>
<config>
<sites>
<site>
<sitename>www.example.com</sitename>
<active>1</active>
<rooturl>http://www.example.com.com/</rooturl>
<name>Example</name>
</site>
<site>
<sitename>Test entry</sitename>
<name />
<rooturl>http://www.test.com.com/</rooturl>
<reportname>test report name</reportname>
</site>
</sites>
</config>
The code that I used:
#!/usr/bin/perl
use strict;
use warnings;
use XML::Tidy;
my $tidy_obj = XML::Tidy->new(
'filename' => '/path/to/xmlfile');
$tidy_obj->tidy();
$tidy_obj->write();