在我使用PHP 5.3.x的CodeIgniter 2.x項目中,我使用以下函數將Dom Document呈現爲XML響應。每件事情都很好。但是由於一些格式錯誤的意外文本(根元素之外的非空白文本),生成的XML解析失敗。PHP生成的XML解析失敗
function renderDOMAsXML(DOMDocument &$dom, $format = true, $status = 200){
$dom->formatOutput = $format;
$controller = &get_instance();
$controller->output->set_status_header($status);
$controller->output->set_header('Content-type: application/xml; charset=utf-8');
$controller->output->set_output($dom->saveXML());
}
用於我的好奇心我解碼的格式不正確的意外文本(根元素之外的非空白文本)作爲十六進制格式如下。
\x00ef\x00bb\x00bf\x00ef\x00bb\x00bf\x00ef\x00bb\x00bf\x00ef\x00bb\x00bf\x00ef\x00bb\x00bf
或
\x{00ef}\x{00bb}\x{00bf}\x{00ef}\x{00bb}\x{00bf}\x{00ef}\x{00bb}\x{00bf}\x{00ef}\x{00bb}\x{00bf}\x{00ef}\x{00bb}\x{00bf}
或類似這樣的

我不知道什麼是錯誤的。什麼是畸形的意外文本(根元素以外的非空白文本)?他們是否有任何標題信息?我要如何跳過它們,因爲我想將它呈現爲瀏覽器的XML響應。
不使用CI方法輸出XML,以確定它是DOM還是CI的問題。 – Gordon 2013-05-14 07:01:53
這是php文件編碼的問題,是我用Unicode編碼創建一些文件的錯誤。 – 2013-05-14 08:11:12