Autor | Zpráva | ||
---|---|---|---|
Pavel Dumbrovský Profil |
#1 · Zasláno: 30. 4. 2013, 20:42:48
Dobrý den,
celý den hledám něco použitelného pro import z velkých XML do DB. Našel jsem skript kde se kombinuje XMLreader a SimpleXML, ovšem potřeboval bych ho vylepšit tak, aby když nějaký element obsahuje další prvky, aby je to vypsalo taky (subtree). $reader = new XMLReader(); $reader->open('xml_feed_sklad_zaklad_cz.xml'); while($reader->read()) { if($reader->nodeType == XMLReader::ELEMENT && $reader->name == 'SHOPITEM') { $counter++; $doc = new DOMDocument('1.0', 'UTF-8'); $xml = simplexml_import_dom($doc->importNode($reader->expand(),true)); echo "<p>".$counter." ".$xml->NAZEV; //or whatever // tuto cast jsem pridelal sam s tim, ze tak nejak by to melo byt, ale neco je blbe, protoze jakmile to narazi na neprazdny element PRILOHY, tak uz to vypisuje pouze prilohy a nevrati se to do hlavniho cyklu.. if(!$xml->isEmptyElement && $xml->PRILOHY) { while($reader->read()) { if($reader->nodeType == XMLReader::ELEMENT && $reader->name == 'PRILOHY') { $counter++; $doc2 = new DOMDocument('1.0', 'UTF-8'); $xml2 = simplexml_import_dom($doc2->importNode($reader->expand(),true)); echo "<p> ".$counter." ".$xml2->PRILOHA_URL; //or whatever } } } } } Nemělo by to být snad nic těžkého, pro mě je to ale celkem španělská.. Předem díky za pomoc! |
||
Časová prodleva: 12 let
|
0