Удалить кортеж из списка кортежей, если выполняется определенное условие

Это очень похожий вопрос на Лучший способ обработки больших XML в PHP , но с очень хорошим конкретным ответом, направленным на устранение конкретной проблемы разбора каталога DMOZ. Однако, поскольку это хороший хит Google для больших XML-файлов в целом, я также отправлю ответ на другой вопрос:

. Я беру его на себя:

https : //github.com/prewk/XmlStreamer

Простой класс, который будет извлекать всех детей в корневой элемент XML при потоковой передаче файла. Протестировано на 108 MB XML-файле из pubmed.com.

class SimpleXmlStreamer extends XmlStreamer {
    public function processNode($xmlString, $elementName, $nodeIndex) {
        $xml = simplexml_load_string($xmlString);

        // Do something with your SimpleXML object

        return true;
    }
}

$streamer = new SimpleXmlStreamer("myLargeXmlFile.xml");
$streamer->parse();

16
задан user781486 9 April 2014 в 09:00
поделиться