使用Perl从DOM生成格式化XML

yae*_*ael 1 xml perl

我编写了以下Perl脚本(如下所示)以创建简单的XML文件.生成的输出有效,但我对生成的XML源代码有特定的格式要求.

如何更改我的脚本以添加我想要的空白?

#!/usr/bin/perl

use warnings;
use XML::LibXML;


my $doc  = XML::LibXML::Document->new; 
my $root = $doc->createElement('LEVEL1');
$doc->setDocumentElement($root);

my $system = $doc->createElement('LEVEL2');
$root->appendChild($system);

my $install = $doc->createElement('LEVEL3');
$system->appendChild($install);

print $doc->toString;
Run Code Online (Sandbox Code Playgroud)

脚本输出:

<?xml version="1.0"?>
<LEVEL1><LEVEL2><LEVEL3/></LEVEL2></LEVEL1>
Run Code Online (Sandbox Code Playgroud)

期望的输出:

  <?xml version="1.0"?>
  <LEVEL1>
     <LEVEL2>
      <LEVEL3/> 
     </LEVEL2>
   </LEVEL1>
Run Code Online (Sandbox Code Playgroud)

Que*_*tin 5

请参阅toString的文档

print $doc->toString(1);
Run Code Online (Sandbox Code Playgroud)