Я уверен, что я не использую его правильно, мой код:XML Twig всегда редактирование XML
#!/usr/bin/env perl
use strict;
use warnings;
use XML::Twig;
XML::Twig->new(pretty_print => 'indented',
twig_handlers => { '//Item[@PartNumber]' => \&_pitem
},
)->parsefile_inplace('order2.xml', '.bak');
sub _pitem {
$_->set_text(...) if (....);
}
Если нет никаких элементов, соответствующих это выражение XPath в XML, кажется, что XML получается, быть пустым ... он обрезает файл. Мое желаемое поведение: вообще не следует редактировать XML, если никакие элементы не совпадают.