Я пытаюсь извлечь данные из файла GPX и сохранить его в MySQL с помощью PHP и я пишу это:
$gpx = simplexml_load_file('uploads/unzip/'.$gpsfile.'/'.$gpxfile.'.gpx');
foreach ($gpx->trk->trkseg->trkpt as $trkpt) {
$lat = (string) $trkpt['lat'];
$lon = (string) $trkpt['lon'];
$name = (string) $gpx->trk->name;
$desc = (string) $gpx->trk->desc;
echo $lat;
echo $lon;
echo $desc;
}
но функция foreach показывает только первый набор координат trkpt. Мне нужно вернуть весь раздел trk со всеми координатами trkpt.
В файле есть несколько разделов trk:
<trk>
<name>test/name>
<cmt>-</cmt>
<desc>test</desc>
<src>20--</src>
<trkseg>
<trkpt lat="44.867687980932203" lon="28.309019488759262">
</trkpt>
<trkpt lat="44.867702520087697" lon="28.308913064206525">
</trkpt>
<trkpt lat="44.867722086992117" lon="28.308743677250508">
</trkpt>
<trkpt lat="44.874962661538952" lon="28.311624759622379">
</trkpt>
<trkpt lat="44.87496253919776" lon="28.311625616880288">
</trkpt>
<trkpt lat="44.874914089738589" lon="28.311942660248032">
</trkpt>
<trkpt lat="44.874914070326035" lon="28.311942768555909">
</trkpt>
<trkpt lat="44.867687980932203" lon="28.309019488759262">
</trkpt>
</trkseg>
</trk>
<trk>
<name>test/name>
<cmt>-</cmt>
<desc>test</desc>
<src>20--</src>
<trkseg>
<trkpt lat="44.867687980932203" lon="28.309019488759262">
</trkpt>
<trkpt lat="44.867702520087697" lon="28.308913064206525">
</trkpt>
<trkpt lat="44.867722086992117" lon="28.308743677250508">
</trkpt>
<trkpt lat="44.874962661538952" lon="28.311624759622379">
</trkpt>
<trkpt lat="44.87496253919776" lon="28.311625616880288">
</trkpt>
<trkpt lat="44.874914089738589" lon="28.311942660248032">
</trkpt>
<trkpt lat="44.874914070326035" lon="28.311942768555909">
</trkpt>
<trkpt lat="44.867687980932203" lon="28.309019488759262">
</trkpt>
</trkseg>
</trk>
Задача ещё не решена.
Других решений пока нет …