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 '
모든 도움말을 환영합니다.
많은 감사를 그 버그를 발견 한 데이브. 나는 내가 생각했던 것보다 더 해결책에 가까웠다. – tcdaly