这让我保持了几天。尝试用这些值输出XML。底线是,它工作得很好,但不是特殊字符,我想用CDATA转义。我尝试了$output .= '<name>'<![CDATA['.$_category->getName().']]>'</name>';
,但没有显示任何数据。这意味着$_category->getName()方法不会运行。当没有CDATA时,下面的代码会中断。
$output .= '<category>';
$output .= '<name>'.$_category->getName().'</name>';
$output .= '<url>'.$_category->getUrl().'</url>';
$output .= '</category>';
你必须把你想要发送给浏览器的文字放在字符串文字中。
$output .= '<name><![CDATA[' . $_category->getName() . ']]></name>';
也就是说,不要试图通过拼凑字符串来构建XML,这样只会导致意外数据引入错误。使用真正的XML库