2

如何在 XML::LibXML 的文本节点中强制使用实体编码?

我有 toString() 输出

<test>&lt;text&gt;&amp;"&lt;/text&gt;</test>

我需要

<test>&lt;text&gt;&amp;&quot;&lt;/text&gt;</test>
4

2 回答 2

3

您需要使用XML::Entities对字符串进行编码。

在这种情况下,您必须首先对字符串进行解码,否则您最终会得到已经存在的实体被双重编码。

于 2013-03-14T22:07:39.940 回答
1

我不知道您为什么要这样做,因为这两个 XML 片段是 100% 等效的。

libxml 不再不必要地为 ' "' 使用实体,而不是为 ' t' 和 ' .' 使用实体。

于 2013-03-14T22:06:24.623 回答