I\'m adding nodes to my XML document as part some in-house processing, but cannot get XML::LibXML to auto-indent the added nodes.
I get output like the following:
I played a bit with settings and this seems to work:
use XML::LibXML;
my $doc = XML::LibXML->load_xml(string => <<END_XML, { no_blanks => 1 });
<nested_nodes>
<nested_node>
<configuration>A</configuration>
<model>45</model>
<added_node>
<ID>
<type>D</type>
<serial>3</serial>
<kVal>3</kVal>
</ID>
</added_node>
</nested_node>
</nested_nodes>
END_XML
print $doc->toString(1);
Result is this:
<?xml version="1.0"?>
<nested_nodes>
<nested_node>
<configuration>A</configuration>
<model>45</model>
<added_node>
<ID>
<type>D</type>
<serial>3</serial>
<kVal>3</kVal>
</ID>
</added_node>
</nested_node>
</nested_nodes>
If you don't mind using another tool, I recommend XML::Tidy. It does one job, and it does it well.