【发布时间】:2014-08-06 13:55:08
【问题描述】:
拜托,我需要用汽车信息解析 XML 文件。我在汽车、照片中做了所有事情,但我需要在额外的表中有 id、汽车表的外键到 id,并且所有汽车都有随机的设备 ID。
我需要把它放到“设备”表中:
<equipment>
<equipment_id>eq_co_driver_airbag</equipment_id>
<equipment_id>eq_driver_airbag</equipment_id>
<equipment_id>eq_abs</equipment_id>
<equipment_id>eq_aut_aircon</equipment_id>
<equipment_id>eq_dalk_centr</equipment_id>
<equipment_id>eq_el_contr_win</equipment_id>
<equipment_id>eq_el_contr_mirrors</equipment_id>
<equipment_id>eq_lite_disky</equipment_id>
<equipment_id>eq_immobilizer</equipment_id>
<equipment_id>eq_mlhovky</equipment_id>
<equipment_id>eq_adjustable_drive_wheel</equipment_id>
<equipment_id>eq_original_autoradio</equipment_id>
<equipment_id>eq_on_board_comp</equipment_id>
<equipment_id>eq_steering_booster</equipment_id>
<equipment_id>eq_leather_trim</equipment_id>
<equipment_id>eq_ASR</equipment_id>
<equipment_id>eq_stresni_sibr_el</equipment_id>
<equipment_id>eq_ton_skla</equipment_id>
<equipment_id>eq_venkovni_teplomer</equipment_id>
<equipment_id>eq_adjustable_seat</equipment_id>
</equipment>
我无法创建正确的导入脚本。
这是我的 XML 文件中的一辆车: http://pastebin.com/Yyr1GXyb
这里是通过 print_r 列出的一辆车的列表: http://pastebin.com/csQpQSDs
我试过这个:
echo "import equipment .. ";
foreach ($xml->cars->car->equipment as $data) {
mysql_query("INSERT INTO equipment (cars_id, equipment_id)
VALUES
($id_car, \"$data->equipment_id\")")
or die(mysql_error());
$id_car++;
}
echo "OK\n";
还有这个
echo "import equipment .. ";
foreach ($xml->cars->car as $entry) {
foreach ($entry->equipment as $data) {
mysql_query("INSERT INTO equipment (cars_id, equipment_id)
VALUES
($id_car, \"$data->equipment_id\")")
or die(mysql_error());
}
$id_car++;
}
echo "OK\n";
但没有成功
我想不通。请帮我。非常感谢!
【问题讨论】:
-
使用 DomDocument 更容易
-
SimpleXML 不可能吗?想用SimpleXML,我觉得是可以的。我不知道如何使用 DomDocument 进行此操作
标签: php mysql xml parsing simplexml