如何编码 Perl/XML 中的符号“<”和“>”

How to encode symbols "<" and ">" in Perl/XML

我正在使用 Perl 创建一个 XML 文件,然后使用

use XML::LibXML;

在代码的一部分中,我需要在一个节点中写一些解释

$writer->characters("<![CDATA[$xmlFile]]>");

我的输出是

&lt;![CDATA[example.xml]]&gt;

但期望的是

<![CDATA[example.xml]]>

我检查了&lt;&gt;,但根本不起作用。因为 istead of symbol & 它也打印出编码。

有人知道怎么过来吗?

不要尝试使用characters直接写入CDATA段;它生成 text,不是元素,也不是像 CDATA 部分、PI 或评论这样的特殊结构。相反(假设 $writerXML::Writer)你可以做 $writer->cdata($xmlFile).