有没有办法让XML :: Simple输出CDATA?

时间:2015-02-24 03:54:01

标签: xml perl cdata xml-simple

如果我在安装了XML :: Simple的系统上,并且我正在读取数据库以输出其中某些数据的XML表示,并且其中一些数据具有需要的HTML代码被CDATA标签包围......可能吗?

我真的不想跳过必要的环节来安装新模块,但如果用XML :: Simple不可能,你会推荐哪个模块?

1 个答案:

答案 0 :(得分:1)

这有点不完整。因为它将依赖于您的输入/输出细节。

我喜欢XML::Twig作为XML::Simple的替代方案。在XML::Simple的文档中,您有:

  

不鼓励在新代码中使用此模块。其他模块可用,提供更直接和一致的接口。

在您XML::Twig的文档中(阅读以上链接了解更多内容,为方便起见,这是为了转载):

  

创建包含CDATA部分的元素foo:

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]]></>

我认为这应该涵盖您的需求?