2
Perl XML :: LibXMLライブラリを使用して、XMLドキュメント内の既存ノードのセットごとに新しいノードを追加しようとしています。ループを使用します。新しいノードを既存のノードのセットに追加する(Perl XML :: LibXML)
#!/usr/bin/perl -w
use 5.14.2;
use XML::LibXML;
my $filename = "xml_doc.xml";
my $parser = XML::LibXML->new();
$parser->keep_blanks(0);
my $dom = $parser->parse_file($filename);
for my $node ($dom->findnodes("/poem/stanza/v"))
{
my $elm = $dom->createElement('newnode');
$elm->appendText('This is a new node');
$_->addChild($elm);
}
say $dom->toString(1);
ファイル「xml_doc.xml」:プログラムがエラーで失敗し
<?xml version="1.0" encoding="UTF-8"?>
<poem>
<stanza>
<v>As I was going to Bonner,</v>
<v>Upon my word of honor,</v>
<v>I met a pig</v>
<v>Without a wig,</v>
<v>As I was going to Bonner.</v>
</stanza>
</poem>
は「batch_add_nodesで未定義の値にする方法 『にaddChild』を呼び出すことはできませんこれは、これまでの私の試みです。 PL線16。
ヒントをお聞かせください。
多くのおかげでそのバグを発見するためのDave。私は思っていた以上に解決策に近づきました。 – tcdaly