abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 07:33 | Komunita

    O víkendu probíhá konference OpenAlt 2025. Na programu je spousta zajímavých přednášek. Pokud jste v Brně, stavte se. Vstup zdarma.

    Ladislav Hagara | Komentářů: 0
    dnes 00:55 | IT novinky

    Josef Průša představil novou velkoformátovou uzavřenou CoreXY 3D tiskárnu Prusa CORE One L a nový open source standard chytrých cívek OpenPrintTag i s novou přepracovanou špulkou.

    Ladislav Hagara | Komentářů: 3
    včera 18:33 | IT novinky

    Na GOG.com běží Autumn Sale. Při té příležitosti je zdarma hororová počítačová hra STASIS (ProtonDB: Platinum).

    Ladislav Hagara | Komentářů: 0
    včera 13:22 | Komunita

    Ubuntu 25.10 má nově balíčky sestavené také pro úroveň mikroarchitektury x86-64-v3 (amd64v3).

    Ladislav Hagara | Komentářů: 7
    včera 01:22 | Nová verze

    Byla vydána verze 1.91.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 0
    včera 00:11 | IT novinky

    Ministerstvo průmyslu a obchodu vyhlásilo druhou veřejnou soutěž v programu TWIST, který podporuje výzkum, vývoj a využití umělé inteligence v podnikání. Firmy mohou získat až 30 milionů korun na jeden projekt zaměřený na nové produkty či inovaci podnikových procesů. Návrhy projektů lze podávat od 31. října do 17. prosince 2025. Celková alokace výzvy činí 800 milionů korun.

    Ladislav Hagara | Komentářů: 5
    30.10. 23:44 | Komunita

    Google v srpnu oznámil, že na „certifikovaných“ zařízeních s Androidem omezí instalaci aplikací (včetně „sideloadingu“) tak, že bude vyžadovat, aby aplikace byly podepsány centrálně registrovanými vývojáři s ověřenou identitou. Iniciativa Keep Android Open se to snaží zvrátit. Podepsat lze otevřený dopis adresovaný Googlu nebo petici na Change.org.

    Ladislav Hagara | Komentářů: 0
    30.10. 15:22 | Nová verze

    Byla vydána nová verze 18 integrovaného vývojového prostředí (IDE) Qt Creator. S podporou Development Containers. Podrobný přehled novinek v changelogu.

    Ladislav Hagara | Komentářů: 2
    30.10. 12:55 | Nová verze

    Cursor (Wikipedie) od společnosti Anysphere byl vydán ve verzi 2.0. Jedná se o multiplatformní proprietární editor kódů s podporou AI (vibe coding).

    Ladislav Hagara | Komentářů: 1
    30.10. 02:55 | Nová verze

    Google Chrome 142 byl prohlášen za stabilní. Nejnovější stabilní verze 142.0.7444.59 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 20 bezpečnostních chyb. Za nejvážnější z nich bylo vyplaceno 50 000 dolarů. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (35%)
     (48%)
     (19%)
     (18%)
     (23%)
     (16%)
     (21%)
     (16%)
     (17%)
    Celkem 292 hlasů
     Komentářů: 14, poslední 14.10. 09:04
    Rozcestník

    Dotaz: XMLreader na větší objem s omezeným časem zpracování (hosting)

    11.12.2013 20:32 cvp | skóre: 18
    XMLreader na větší objem s omezeným časem zpracování (hosting)
    Přečteno: 288×
    Mám hosting, kde lze mít spuštěný script maximálně 30 sekund, pak se objeví hláška 500. Zkouším načíst 25MB XML soubor, který si prvně uložím na FTP do složky a za pomocí XMLreader se snažím XML načíst. Bohužel se mě podaří načíst jen slabá 1/2.

    Čekal jsem, že XMLreader má zabudované nějaké řazení, kdy když script skončí, začne opět tam kde skončil, aby se načetlo do mySQL celá data XML.
    $reader = new XMLReader();
      $reader->open("../data.xml");
        while($reader->read())
        {
            if($reader->nodeType == XMLReader::ELEMENT && $reader->name == 'SHOPITEM')
            {
              $doc = new DOMDocument('1.0', 'UTF-8');
              $data = simplexml_import_dom($doc->importNode($reader->expand(),true));
    
               // vypíšeme data, která se zapíší do mySQL          
               $id_id = $data->ID_PRODUCT;
               $kod = $data->KOD;
           }
         }
    

    Odpovědi

    Josef Kufner avatar 11.12.2013 22:35 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: XMLreader na větší objem s omezeným časem zpracování (hosting)
    Proč vytváříš ten dokument uvnitř cyklu?

    To co chceš je jednoduchý konečný automat, který bude zpracovávat události z ZML readeru a reagovat dle potřeby (nastavovat proměnné, ukládat data, když je záznam načten celý).

    Zde na AbcLinuxu byl článek o gramatikách a parserech, to lze na to použít.
    Hello world ! Segmentation fault (core dumped)
    12.12.2013 10:43 Logik
    Rozbalit Rozbalit vše Re: XMLreader na větší objem s omezeným časem zpracování (hosting)
    Buďto tak jak naznačil předřečník (tj. proudovým zpracováním),

    nebo by ještě mohlo bejt dostatečně rychlý použití simplexml a xpath, tj něco jako
    foreach(simplexml::loadstring("../data.xml")->xpath('SHOPITEM') as $data) {
     $id_id = $data->ID_PRODUCT;
     $kod = $data->KOD;
    }
    
    Ty sis vybral nejhorší možnost - proudovej parser, kde pro každej element vytváříš spešl DOM a ten převádíš na simplexml - tj. s každym kouskem XML děláš spoustu vopičáren, pak to nemá běžet pomalu. V PHP je zásada - jazyk je to hroznej a pomalej, co můžeš nechat knihovnám, tak nech knihovnám.
    Josef Kufner avatar 12.12.2013 11:20 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: XMLreader na větší objem s omezeným časem zpracování (hosting)
    U tohoto je riziko, že na razí na omezení paměti, ale jinak je to také rozumný přístup.
    Hello world ! Segmentation fault (core dumped)

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.