【发布时间】:2016-01-15 01:30:08
【问题描述】:
我有一个正在使用的 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 转换为可以保存到文件的格式?
【问题讨论】: