避免在XML保存上进行双重编码

时间:2017-07-04 10:54:42

标签: php xml encoding

我正在使用SimpleXMLElement创建一个XML文件,如下所示:

 $xml = new SimpleXMLElement('<?xml version="1.0" encoding="UTF-8"?><DonneesDepot xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"></DonneesDepot>');

我插入一些数据,然后保存:

$xml->asXML($path);

保存时,会自动对&><进行编码,但我需要对引号进行编码,因此当我插入数据时,我会使用htmlspecialchars()

htmlspecialchars($some_data, ENT_XML1 | ENT_QUOTES, 'UTF-8') 

这会使用&apos;对引号进行编码,但由于编码将此编码保存为&amp;apos;

如何保存文件并编码引号或保存文件而不进行任何编码,然后在插入数据时可以使用htmlspecialchars()

0 个答案:

没有答案