Я борюсь с XML :: Просто в Perl и элементах с возможностью NULL.Perl XML :: Simple: SuppressEmpty для xsi: nil-Elements без содержимого?
Так что это мой пример-XML:
<MyXml>
<SomeNumber>123</SomeNumber>
<EmptyOne/>
<NullableElement xsi:nil="true"></NullableElement>
</MyXml>
Если я прочитал это с XMLin и SuppressEmpty => 1 Я получаю пустую строку для EmptyOne, но Hash с xsi: nil = "true" для NullableElement. Мои вопросы: как я могу сказать XMLin игнорировать xsi: nil-Content и просто дать мне пустую строку или undef? Возможно ли это с помощью XML :: Simple или я должен переключиться на Lib :: XML?
Здесь какой-то код, чтобы увидеть результат:
use XML::Simple;
use Data::Dumper;
my $xmlIn = '<MyXml><SomeNumber>123</SomeNumber><EmptyOne/><NullableElement xsi:nil="true"></NullableElement></MyXml>';
my $xmlHash = XMLin($xmlIn, SuppressEmpty => '');
print Dumper($xmlHash);
Существует причина, по которой 'XML :: Simple' [обескуражен] (http://stackoverflow.com/questions/33267765/why-is-xmlsimple-discouraged). Придерживайтесь 'XML :: Twig'' XML :: LibXML'. – Sobrique