PHP将具有多个记录的XML文件转换为JSON

时间:2015-10-15 11:30:47

标签: php mysql json xml laravel-5

我想在JSON中转换包含多个记录的大型XML文件(大小为19 MB)。

首先,我是处理XML数据的新手。

我在PHP(Laravel框架)中有这段代码:

$doc = simplexml_load_file("products.xml");
echo json_encode((object) array('productId' => $doc->Products->Product->ProductId, 'price' => $doc->Products->Product->Price));

但echo只返回第一条记录:

{"productId":{"0":"C6900015 "},"price":{"0":"140.5100"}}

我想在JSON中转换此类型的所有记录。

Afert我做了这个,我想使用这个JSON作为yajra DataTables的源或发送到MySQL表(插入或更新)。

我不知道如何统计所有记录并在'中发送给JSON。或者' foreach'循环。

请帮帮我!谢谢!

1 个答案:

答案 0 :(得分:0)

我找到了解决方案:

$doc = simplexml_load_file("products.xml");

foreach ($doc->Products->Product as $product) {
    // echo $product->ProductId . ', ' . $product->Price . '<br>';
    echo json_encode((object) array('productId' => $product->ProductId, 'price' => $product->Price));
}