Zai*_*aid 6 xml perl xml-libxml
我将节点添加到我的XML文档中作为内部处理的一部分,但无法XML::LibXML自动缩进添加的节点.
我得到如下输出:
这是我目前得到的$xml->toString( 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>
Run Code Online (Sandbox Code Playgroud)
我想要的是漂亮的打印输出:
<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>
Run Code Online (Sandbox Code Playgroud)
记录$format的toString()方法的可选参数XML::LibXML::Document似乎没有帮助.
我玩了一些设置,这似乎工作:
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);
Run Code Online (Sandbox Code Playgroud)
结果如下:
<?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>
Run Code Online (Sandbox Code Playgroud)