4
XML :: DOMを使用してあるXMLから別のXMLへの人口ノードを追加しようとしています。問題のツリーを複製していても、ノードが別のファイルから来たと言うので、「WRONG_DOCUMENT_ERR」と表示されます。新しいファイルにノードを追加しようとすると、正しく実行されます。私はそれを正しくしていますか?Perl XML :: DOMファイル間のノードツリー
正しい解決策はノードをインポートすることだが、 "import site:http://search.cpan.org/~tjmather/XML-DOM-1.44/"のGoogle検索では何も得られない。今私は真剣にこれがいかに可能か疑問に思います。
my $yelParser = new XML::DOM::Parser;
my $yelDoc = $yelParser->parsefile ($yelFile);
my $bwParser = new XML::DOM::Parser;
my $bwDoc = $bwParser->parsefile ($bwFile);
my @personTags = $bwDoc->getElementsByTagName("person");
foreach my $personTag (@personTags){
my $nameTag = $personTag->getElementsByTagName("name")->[0]->getFirstChild;
my $name = $nameTag->getNodeValue();
print "Name: $name\n";
print "Making clone.\n";
my $clone = $personTag->cloneNode(1);
print "Removing Bio.\n";
$clone->getElementsByTagName("biography")->[0]->getFirstChild->setNodeValue('');
print "Appending to Yellow\n";
$yelDoc->getElementsByTagName("xml")->[0]->appendChild($clone);
print "Node done.\n";
}
<STDIN>;
my $outFile = "$folderOut/$filebase";
print "Printing to file... $outFile\n";
$yelDoc->printToFile($outFile);
print "Output done.\n";
あなたは小さなサンプルXML文書をお持ちですか? – Lee
何でもできます。何かのような$ xmlStr = "スティーブ 彼がしたもの "; そして、そのコピーを少し違う別のファイルに追加しようとします。 –