| 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: 13 let
|
|||
0