2017-25 © Pedro Peláez
 

library hybrid-xml-parser

Simple class to parse huge XML files in a memory-efficient way

image

alexanderk23/hybrid-xml-parser

Simple class to parse huge XML files in a memory-efficient way

  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 2 Forks
  • 0 Open issues
  • 1 Versions
  • 1 % Grown

The README.md

Hybrid XML Parser

Класс для разбора больших XML-файлов без загрузки их в память. Схема работы проста: файл проходится XMLReader'ом, для каждого интересующего нас элемента XML вызывается предварительно заданный обработчик, которому в качестве аргумента передаётся содержимое этого элемента в виде SimpleXMLElement., (*1)

Выглядит это как-то так:, (*2)

<?php
    $parser = new HybridXMLParser;
    $parser
        // Вешаем обработчик на путь в XML
        ->bind('/FictionBook/description/title-info/author', function(\SimpleXMLElement $author, $parser) {
            print_r($author);
        })
        // И ещё один
        ->bind('/FictionBook/description/title-info/translator', function(\SimpleXMLElement $translator, $parser) {
            print_r($translator);
            // Так можно немедленно завершить парсинг
            $parser->stop(); 
        })
        // Запускаем
        ->process('somebook.fb2')
        ->process('anotherbook.fb2');

В качестве обработчика можно указывать всё, для чего is_callable() возвращает true., (*3)

The Versions

04/02 2018

dev-master

9999999-dev http://github.com/alexanderk23/hybrid-xml-parser

Simple class to parse huge XML files in a memory-efficient way

  Sources   Download

WTFPL public domain

The Requires

  • php >=5.3.0

 

parser xml