如果我在一个只安装了XML::Simple的系统上,并且我正在读取一个数据库以输出其中一些数据的XML表示,并且其中一些数据具有HTML代码,该代码需要用CDATA标记包围。。。这可能吗?
我真的不想跳过必要的障碍来安装一个新模块,但如果XML::Simple不可能,你会推荐哪个模块?
这将有点不完整。因为这将取决于您的输入/输出细节。
我喜欢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]]></>
我认为这应该包括你的需求?