我正在寻找一种方法,使用PHP脚本将我从网站检索的PHP文件转换为XML格式。
我得到的返回文件是:
{ "days": [
{"reference":"13L6-A67-1", "dayinit":"4","hourinit":"9"},
{"reference":"13L6-A67-1", "dayinit":"5","hourinit":"9"} ]}
无论如何我可以将它转换为这样的XML文件:
<?xml version="1.0"?>
<days>
<day>
<lesson>
<reference>13L6-A67-1</reference>
<hourinit>9</hourinit>
</lesson>
</day>
<day>
<lesson>
<reference>13L6-A67-1</reference>
<hourinit>9</hourinit>
</lesson>
</day>
</days>
最好是根据“dayinit”对数据进行分组。
答案 0 :(得分:1)
您可以将数据转换为数组并循环遍历它:
$test_array = json_decode('{ "days": [
{"reference":"13L6-A67-1", "dayinit":"4","hourinit":"9"},
{"reference":"13L6-A67-1", "dayinit":"5","hourinit":"9"} ]}',true);
$xml = '<?xml version="1.0"?>';
$xml .= '<days>';
foreach($test_array['days'] as $day) {
$xml .= '<day>';
$xml .= '<lesson>';
$xml .= '<reference>';
$xml .= $day['reference'];
$xml .= '</reference>';
$xml .= '<dayinit>';
$xml .= $day['reference'];
$xml .= '</reference>';
$xml .= '</dayinit>';
$xml .= $day['hourinit'];
$xml .= '</hourinit>';
$xml .= '</lesson>';
$xml .= '</day>';
}
$xml .= '</days>';
答案 1 :(得分:0)
您检索的内容是用JSON写的内容。您可以尝试使用PHP本机函数来转换内容。以下示例粗略地说明了如何处理解决方案。
首先,获取并解码JSON(documentation):
$json = '...'; // JSON content
$data = json_decode($json, true);
然后,使用XML Parser(documentation)将您的$data
呈现为XML:
// Something like
$xml_parser = xml_parser_create();
xml_parse($xml_parser, $data);