Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Jak převést rozsáhlý *xml soubor do čitelnější formy?

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();
}

Reakce na odpověď

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny