"school/student[4]" のような XPath を使用しています。setNodeText
関数はハードディスクに保存できましたか? 私の変更はメモリ内でのみ行われるようです。
2 に答える
1
私の理解が正しければ、ドキュメントを変更してからディスクに書き込もうとしています。
use XML::LibXML qw( );
my $parser = XML::LibXML->new();
my $doc = $parser->parse_fh(...);
my $root = $doc->documentElement();
for my $node ($root->findnodes('//school/student[4]')) {
$node->removeChildNodes();
$node->appendText("New text");
}
open(my $fh, '>:raw', ...) or die $!;
print($fh $doc->toString());
于 2012-04-10T04:22:37.230 に答える
0
文書化されていない方法を使用して、XML 構造をダンプできますgetNodeAsXML
。出力が有効な XML (ヘッダーがないなど) であるとは限りませんが、通常はうまくいきます。
my $str = $xp->getNodeAsXML();
print $str;
于 2013-07-31T07:57:33.870 に答える