0

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

我真的不想跳过安装新模块的必要步骤,但如果使用 XML::Simple 不可能,您会推荐哪个模块?

4

1 回答 1

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

我认为这应该包含您的需求?

于 2015-02-24T10:00:17.843 回答