我有一个需要使用 curl 访问的 xml 数据源。我试图获取 curl 输出并使用 XMLReader 读取每个节点,但它没有工作。因为当我使用 curl 加载提要时,它需要大约 1-2 分钟,因为它很大。
所以我的想法是将提要下载到我的服务器并将其转换为 csv 并将其上传到我的数据库。所以我可以将它与 cron 一起使用来保持我的数据库更新。
我发现这段代码在普通的 xml 提要中似乎可以正常工作,但它似乎不适用于我的提要。
在这个提要中
<cars>
<car>
<color>blue</color>
<price>2000</price>
</car>
<car>
<color>red</color>
<price>10000</price>
</car>
<car>
<color>black</color>
<price>5000</price>
</car>
</cars>
当我使用下面的代码时,它可以工作。
$filexml='cars.xml';
if (file_exists($filexml)) {
$xml = simplexml_load_file($filexml);
$f = fopen('cars.csv', 'w');
foreach ($xml->car as $car) {
fputcsv($f, get_object_vars($car),',','"');
}
fclose($f);
}
但是当涉及到下面的提要时,我如何更改上面的代码以将模型、图片、图像、类型....添加到 csv 中?
<cars>
<car>
<color>blue</color>
<price>2000</price>
<model />
<pictures>
<image>1.jpg</image>
<image>2.jpg</image>
</pictures>
<type>
<bodykit>yes</bodykit>
<turbo>no</turbo>
<sound>surround</sound>
</type>
</car>
<car>
<color>red</color>
<price>10000</price>
<model>GTX</model>
<pictures>
<image>5.jpg</image>
</pictures>
<type>
<bodykit>yes</bodykit>
<turbo>no</turbo>
<sound>no</sound>
</type>
</car>
<car>
<color>black</color>
<price>5000</price>
<model>GTX</model>
<pictures>
<image>5.jpg</image>
<image>8.jpg</image>
</pictures>
<type>
<bodykit>yes</bodykit>
<turbo>no</turbo>
<sound>surround</sound>
</type>
</car>
</cars>
任何帮助或想法将不胜感激......