Проведя несколько часов исследований, я не смог ответить на этот вопрос. Я пытаюсь отправить XML-строку третьим лицам, поэтому мне нужно закодировать некоторые символы, в данном случае одиночные и, возможно, двойные кавычки. Я использую PHP XML Dom для достижения этого, но функция saveXML() всегда кодирует кавычки, которые, как кажется. Очень простой пример ниже, и когда вы просматриваете вывод, & apos; был заменен на «но остальные все еще имеют свои коды. Может кто-нибудь объяснить, почему это так и как я могу обойти это (без str_replace). Благодарю.Проблема кодирования XML-объектов XML
$XMLDoc = new DOMDocument('1.0', 'utf-8');
$comments = $XMLDoc->createElement('Comments');
$text = $XMLDoc->createElement('Text', "An apostrophe here < ' > Pound sign: £");
$comments->appendChild($text);
$XMLDoc->appendChild($comments);
echo $XMLDoc->saveXML();
Возможно, связанные с: http://stackoverflow.com/questions/6791298/convert-apos-to-an-apostrophe-in-php –
Просто чтобы прояснить, если заменить ' с &039; он все еще делает то же самое –
I винить тот факт, что он не является частью HTML 4.01, хотя я не могу сказать, почему это могло бы иметь какой-либо эффект в этой ситуации. – cmbuckley