Vypsat data do tabulky v php jde např. takto (vypíše všechny id s tradeName):
<table>
<tr><th>id</th><th>tradeName</th></tr>
<?php
$xml = simplexml_load_file('datafile-seznam_ds_ovm.xml');
foreach($xml as $box) {
echo "<tr><td>" . $box->id . "</td><td>" . $box->name->tradeName . "</td></tr>\r\n";
};
?>
</table>
Vypsání je prakticky okamžité u toho 16 MB souboru datafile-seznam_ds_ovm
Vypsat se dají všechna data nebo si to klidně můžeš místo vypsání do tabulky hodit do databáze.
Zkusil jsem vypsat id, jméno a příjmení do tabulky z toho půlgigového souboru datafile-seznam_ds_fo, vypsané v prohlížeči to bylo odhadem asi za 20 sekund.
<table>
<tr><th>id</th><th>Jméno</th><th>Příjmení</th></tr>
<?php
$xml = simplexml_load_file('datafile-seznam_ds_fo.xml');
foreach($xml as $box) {
echo "<tr><td>" . $box->id . "</td><td>" . $box->name->person->firstName . "</td><td>" . $box->name->person->lastName . "</td></tr>\r\n";
};
?>
</table>
A v případě potřeby ten xml může být v zip archivu (místo 500 MB má soubor 30 MB), v tom případě se to xml načítá takto:
$zip = new ZipArchive;
if ($zip->open('datafile-seznam_ds_fo.zip') === TRUE) {
$xml = simplexml_load_string($zip->getFromName('datafile-seznam_ds_fo.xml'));
$zip->close();
}