我正在编写一个简单的Perl脚本,它使用
XML :: Smart来创建和解析XML文件.我遇到了删除XML节点的问题.我有以下代码:
if ( exists $XML->{object}[$n] ) { delete $XML->{object}[$n] ; }; $XML->save('dane.xml') ;
它做了预期的事情 – 即删除了正确的节点.但是,当我稍后尝试列出所有节点(特定根的子节点)时,使用下面的代码(通常可以工作):
my @objects = $XML->{object}('@') ; foreach my $object (@objects) { say "$object->{address}"; };
Perl列出所有节点,直到删除之前的节点,然后吐出以下错误:
Not a HASH reference at g:/Dwimperl/perl/site/lib/XML/Smart/Tie.pm line 48,<STDIN> line 2.
我很难过 – 我尝试使用$XML-> data()的各种排列方式;但都没有用.我更愿意继续使用XML :: Smart来完成这项任务,所以我希望这个问题可以在这个特定的库中解决.