以下是我编写的用于修改xml文件中特定值的perl脚本 - neo-datasource.xml
。
我可以使用->toString
在输出控制台中打印修改后的xml内容,但我希望将这些更改反映在名为neo-datasource.xml
的同一个xml文件中,而不是在控制台中打印。 / p>
你能分享一下你的想法吗?
use strict;
use warnings;
use XML::Twig;
my $twig = XML::Twig->new( keep_spaces => 1 );
$twig->parsefile('C:\Users\IBM_ADMIN\Desktop\dbautomate\neo-datasource.xml');
my ($class_string) = $twig->findnodes('//var[@name="d1new1d1"]/struct[@type="coldfusion.server.ConfigMap"]/var[@name="password"]/string');
$class_string->set_text('NoDatabase');
print $twig->toString;
答案 0 :(得分:1)
你几乎就在那里 - 你只需要打开文件进行书写和打印(而不是STDOUT),例如:
open(my $fh, '>', 'C:\Users\IBM_ADMIN\Desktop\dbautomate\neo-datasource .xml')
or die "Cannot open XML file for writing\n";
$fh->print($twig->toString);