単純な removeChild テストでは、xml 行は削除されますが、空の空白行が維持されます。なぜですか? ところで、ソース xml ファイルにはインデントがありますが、インデントを削除しても同じ結果が得られます。では、まだ空白が残っている場合に removeChild 行を削除できるという点は何ですか?
ファイルに出力する前に、結果の xml 行を再フォーマットする方法はありますか?
foreach my $XYZ ($doc->findnodes("//EE1"))
{
my $library = $XYZ->parentNode;
$library->removeChild($XYZ);
}
print {$FH} $doc->toString(0);
RESULT IN OUTPUT FILE:
<?xml version="1.0"?>
<TopTag>
<AA1>ZNY</AA1>
<AA2>111</AA2>
<BB1>
<CC1>ZNY</CC1>
<CC2>
<DD1>
<-----blank line remains
<EE2>2000</EE2>
</DD1>
<DD1>
<-----blank line remains
<EE2>5000</EE2>
</DD1>
</CC2>
</BB1>
<AA1>ZNY2</AA1>
<AA2>2</AA2>
</TopTag>