2015-02-24 5 views
0

Если я нахожусь в системе только с XML :: Simple, и я читаю базу данных для вывода XML-представления некоторого из них, а некоторые из этих данных имеют HTML-код, который должен быть окружен CDATA тег ... это возможно?Есть ли способ иметь XML :: Простой вывод CDATA?

Я действительно не хочу перескакивать необходимые обручи, чтобы установить новый модуль, но если это невозможно с XML :: Simple, какой модуль вы бы порекомендовали?

+3

XML :: LibXML и XML :: Twig - популярный выбор, и оба дают вам гораздо больше контроля, чем XML :: Simple – TobyLL

+4

Вы уверены, что вам нужно вывести разделы CDATA? Для любого (здравомыслящего) XML-процессора, независимо от того, находится ли контент в секции CDATA или закодирован с использованием сущностей, все это не имеет никакого значения. – mirod

+0

@mirod - я спросил компанию, которая будет делать чтение выводимого XML-файла о некоторых узлах, имеющих HTML-контент в нем, и они сказали: «Просто убедитесь, что содержимое узла завернуто в CDATA. Таким образом, мы может импортировать их как есть ... так вот где я. Возможно, они могут обработать его закодированным. Я должен спросить. Благодарю. –

ответ

1

Это будет немного неполным. Потому что он будет опираться на специфику ввода/вывода.

Мне нравится XML::Twig в качестве альтернативы XML::Simple. В документах для XML::Simple у вас есть:

Использование этого модуля в новом коде не рекомендуется. Доступны и другие модули, которые обеспечивают более простые и последовательные интерфейсы.

В документации XML::Twig вы (читайте выше ссылке для более, это воспроизводится для удобства):

Чтобы создать элемент Foo, содержащий секцию CDATA:

my $foo= XML::Twig::Elt->new('#CDATA' => "content of the CDATA section") 
           ->wrap_in('foo'); 

Атрибут '#CDATA', создаст содержимое элемента как CDATA:

my $elt= XML::Twig::Elt->new('p' => { '#CDATA' => 1}, 'foo < bar'); 

создает элемент

<p><![CDATA[foo < bar]]></> 

Это я думаю, что должна включать в себя ваши потребности?

 Смежные вопросы

  • Нет связанных вопросов^_^