так как мое название говорит: у меня есть файл XML со следующим соответствующим содержаниемPerl: сохранение пробелов в пустом блоке CDATA в XML-файле
<element>
<id>ID</id>
<content>
<![CDATA[
]]>
</content>
</element>
Я использую XML :: Simple для разбора этого:
$localElement = XMLin($localElementXML, NoAttr=>1, SuppressEmpty=>'')
что приводит к этой PERL хэш:
{
'content' => '',
'id' => 'ID'
};
Если вставить что-нибудь, кроме пробела в середине, что Пустой блок CDATA, сохраняется все пробельные:
{
'content' => '
--
',
'id' => 'ID'
};
Что мне нужно достичь для пробельные быть сохранены (в основном длинной, пустая строка), даже если нет никаких других символов в середине его , Да, я использую «SuppressEmpty», но я думаю, что элемент не пуст, это CDATA-блок, полный пробелов, разрывов строк и т. Д. Я что-то пропустил? Как я могу заставить это работать? Я не нашел никаких очевидных опций для XML :: Simple, чтобы изменить это поведение.
Большое спасибо.
Проще говоря, [XML :: Simple] (http://metacpan.org/module/XML::Simple) ужасен. Не используйте его. В своем собственном документе говорится: * Использование этого модуля в новом коде не рекомендуется. Доступны и другие модули, которые обеспечивают более простые и последовательные интерфейсы. * – Borodin