я создаю объект XML с помощью PHP SimpleXMLElementSimpleXmlElement специальные символы в XML
У меня есть полный XML в $RAWResponse
, поэтому я использую
$oXMLResponse = new SimpleXMLElement($RAWresponse);
XML, я получаю происходит от WebService , Я обнаружил, что XML содержит недопустимые символы, например, «&».
Существует много сообщений об этой проблеме, но никто не работает. Я пробовал htmlentities(), но это ускользает от каждого символа, включая «<» и «>», открывая и вставляя XML-элементы.
Наконец я использовал эту функцию:
$some_special_chars = array("&");
$replacement_chars = array("&");
$RAWresponse = str_replace($some_special_chars, $replacement_chars, $RAWresponse);
$oXMLResponse = new SimpleXMLElement($RAWresponse);
Это работает, но это глупое решение, потому что он сломается, если я получу какой-либо другой специальный полукокс. Есть ли лучшее решение? Я не могу понять, почему SimpleXMLElement ломается, он должен только показывать предупреждение или что-то еще.
Перед тем, как задать вопрос, используйте любой из существующих ответов на свой вопрос. Если все это не сработает для вас, сделайте видимым в своем вопросе, какие решения вы пробовали до сих пор и почему они не применяются в вашем случае. – hakre