У меня есть API, с которым я работаю, который позволяет мне получать отчеты с сервера и сохранять результат в переменной в PHP. Моя проблема в том, что данные в кодировке CDATA, поэтому я не вижу их, когда пытаюсь проанализировать файл. Если я скачаю файл и использую simplexml_load_file, например:
$xml = simplexml_load_file($file, 'SimpleXMLElement', LIBXML_NOCDATA);
Это будет работать нормально, но так как файл загружается через API, я не могу добавить опцию LIBXML_NOCDATA.
$xml = simplexml_load_file(get_report_function(), 'SimpleXMLElement', LIBXML_NOCDATA);
Не работает и не работает:
$doc = get_report_function();
$xml = simplexml_load_file($doc, 'SimpleXMLElement', LIBXML_NOCDATA);
Потому что это рассматривается как объект SimpleXMLElement. Когда я пытаюсь:
$doc = get_report_function();
file_put_contents($file, $doc, FILE_APPEND | LOCK_EX);
Это не позволит мне сохранить SimpleXMLElement в файл. Есть ли способ применить параметр LIBXML_NOCDATA после загрузки документа или способ преобразования SimpleXMLElement в формат, который можно сохранить в файл?
или способ преобразования SimpleXMLElement в формат, который можно сохранить в файл
Может быть, этот SimpleXMLElement :: asXML?
Других решений пока нет …