curlを使用してアクセスする必要があるxmlデータフィードがあります。curl出力を取得し、XMLReaderを使用して各ノードを読み取ろうとしましたが、機能しませんでした。カールを使用してフィードをロードした場合、かなり大きいため、約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>
どんな助けや考えもありがたいです...