<?php $filename = "1.xml"; $atryb = simplexml_load_file('1.xml'); if($atryb) { foreach ($atryb->tables->table[0]->rows as $p) { for ($i=0; $i<$limit; $i++) { $data = $p->row[$i]->f[2]; $czas = $p->row[$i]->f[3]; $user = $p->row[$i]->f[6]; $kod = $p->row[$i]->f[7]; if ($user != 'null') { } else {} } } } ?>
Linijka kodu
"Oblicza" ilość paczek danych - pomiędzy <row> i </row> zamieszczonych jest 9 par <f></f> w których zamieszczone są dane które mnie interesują.
Skrypt jak najbardziej działa z tym, że przy 496645 paczkach danych z polami <f></f> wykonanie trwa bardzo długo.
Moje pytanie brzmi czy Ktoś ma pomysł na przyśpieszenie jego działania.
Za wszelką pomoc, pomysły i sugestie będę bardzo wdzięczny

XLM wygląda następująco:
<?xml version="1.0" encoding="utf-8"?> <?xml:stylesheet type="text/xsl" href="XMLtoHTMLTransform.xsl"?> <db xmlns:roger="http://www.blablabla.pl"><params><param name="parser_version" value="2.6"/> <param name="data_type" value="Events"/> <param name="created" value="2011-09-21T08:39:08"/> <param name="PRMaster_version" value="4.3.3.516"/></params> <tables><table name="EventsCache"> <fields> <field name="ECUniqueID" type="Integer"/> <field name="ECID" type="AutoInc"/> <field name="ECDate" type="Date"/> <field name="ECTime" type="Time"/> <field name="ECCode" type="Integer"/> <field name="ECUserID" type="Integer"/> <field name="ECUserGUID" type="String"/> <field name="ECReaderID" type="Integer"/> <field name="ECDoorType" type="Integer"/> </fields> <rows> <row> <f>2511795</f> <f>1133366</f> <f>2010-11-01</f> <f>00:04:00</f> <f>142</f> <f>268435456</f> <f>null</f> <f>4</f> <f>32</f> </row> <row> <f>2511796</f> <f>1133367</f> <f>2010-11-01</f> <f>00:04:10</f> <f>143</f> <f>268435456</f> <f>null</f> <f>4</f> <f>32</f> </row> ...