我正在使用像“学校/学生 [4]”这样的 XPath。该setNodeText
功能可以保存到硬盘吗?我的更改似乎只在内存中进行。
问问题
275 次
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 回答