我正在使用fwrite创建一个xml文件,但我失去了特殊的字符。
示例:
$message0 = htmlspecialchars('<?xml version="1.0" encoding="UTF-8"?>');
$file = fopen("test.xml","w");
echo fwrite($file,"$message0");
fclose($file);
上面的代码给出了以下输出
<?xml version="1.0" encoding="UTF-8"?><JobTemplates>
我需要特殊字符才能使xml文件正常工作。如果我回显变量,页面上会出现特殊字符。
答案 0 :(得分:1)
不理解为什么要为此编码html字符。它是一个受信任的字符串,因此,只需将其放在单引号中并编写即可。如果任何角色给你带来麻烦,请逃避它们而不是编码它们。
如果有这样的原因你必须这样做,那么解码内联。但这对我来说似乎有些混乱。
答案 1 :(得分:1)
这是一个经过测试的示例,您不应该使用htmlspecialchars
$message0 = '<?xml version="1.0" encoding="UTF-8"?><contact><name>foo</name><phone>123456</phone></contact>';
$file = fopen("test.xml","w");
fwrite($file,$message0);
fclose($file);