PHP nasıl büyük XML dosyalarını ayrıştırmak?

0 Cevap php

Ben 12MB Big ilgili bir XML dosyası üzerinden ayrıştırma duyuyorum. Ben bir MySQL veritabanı gerekli bulmak ne tüm dosya üzerinden ayrıştırmak ve saklamak gerekir.

Ben bir diziye XML dosyasını çevirerek duyuyorum. Sonra dizi üzerinden ayrıştırmak ve değerlerini depolamak.

XML gerçekten küçük olduğunda bu iyi çalışıyor, ama bu sadece benim 12MB dosyayı çalıştırdığınızda doğru davranıyor durur.

Ben online bulundu ve bunların hiçbiri işe dizi XML dönüştürmek birden fazla işlevleri çalıştı.

Bu ben online bulundu dizi fonksiyonları için iki farklı XML ile var ortak bir hatadır:

Fatal error: [] operator not supported for strings

Ben SimpleXML kullanıyorum, bu çözmenin daha iyi bir yolu var mı? Büyük XML dosyaları işlemek için yeterince güçlü SimpleXML dışında herhangi kütüphaneler var mı?

Ben şimdi bu var:

$z = new XMLReader;
$z->open('feedfetch.xml');

$doc = new DOMDocument;
while ($z->read() && $z->name !== 'collection');
while ($z->name === 'collection')
{
    $node = simplexml_import_dom($doc->importNode($z->expand(), true));
    var_dump($node[0]);
    exit;

    $z->next('collection');
}

Sen benim var dökümü görüyor musunuz? Bu XML nesneleri bir grup yankıları, ama ben verilerle gerçek düğüme almak için nasıl bilmiyorum?

0 Cevap