1
のXML要素を追加するために失敗:はすなわち</p> <p>元のXMLをフォーマットしていない、私はXMLファイルに要素を追加するとき、それは1行に書かれているいくつかの理由のXML形式の構造
となった<configuration>
<property>
<name>test1</name>
</property>
</configuration>
my $parser =XML::LibXML->new();
my $doc =$parser->parse_file($file) or die $!;
my $root =$doc->getDocumentElement;
my $searchPath="/configuration";
my ($val)=$root->findnodes($searchPath);
my $propTag=$doc->createElement("property");
$val->appendChild($propTag);
my $nameTag=$doc->createElement("name");
$nameTag->appendTextNode($name);
$propTag->appendChild($nameTag);
$doc->setDocumentElement($root);
$doc->toFile($file,1);
:
<configuration>
<property>
<name>test1</name>
</property>
<property><name>test2</name></property></configuration>
の代わりに:
<configuration>
<property>
<name>test1</name>
</property>
<property>
<name>test2</name>
</property>
</configuration>
空白はXMLで重要になります。 XML :: LibXMLは、追加するよう指示していない空白を追加しません。 – ikegami
私は 'toFile'の' format'パラメータを1から2に変更しようとしましたが、それは非常に '間隔の空いた'ファイルを与えました。これを修正する方法がわからない – zgpmax
はい、私もそれを試しました。新しい要素を追加するには、XMLを使って作業するときに基本的な操作を行う必要があるため、非常に奇妙です。 –