Я пытаюсь канонизировать фрагмент XML, чтобы избежать печати самозакрывающихся узлов в результирующем XML.(Я хочу, чтобы узел <test />
передавался как <test></test>
из-за ограничений в системе-потребителе).
Я пытался использовать метод toStringC14N () в XML :: LibXML :: Node для достижения того же самогоно я столкнулся со следующей ошибкой, по которой мне, похоже, тоже не удалось получить помощь от Google.
use XML::LibXML;
my $tagName = 'testtag';
my $tagValue = '';
my $doc = XML::LibXML->createDocument->new('1.0', 'UTF-8');
my $element = $doc->createElement($tagName);
$element->appendText($tagValue);
print "\nOut=>".$element->toStringC14N();
Вывод:
Failed to convert doc to string in doc->toStringC14N at /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/XML/LibXML.pm line 1328.
Я мог только преследовать ошибку доследующий метод в LibXML.c
xmlDocDumpMemory(self, &result, &len);
Я не понимаю, что я делаю неправильно, так как "toString ()", кажется, работает нормально.
Iя использую Perl v5.8.8 & XML :: LibXML версия 1.88