2017-25 © Pedro Peláez
 

library symfony-hybrid-xml-parser

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

image

badlamer/symfony-hybrid-xml-parser

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

  • Monday, September 19, 2016
  • by badlamer
  • Repository
  • 2 Watchers
  • 3 Stars
  • 1,611 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 2 Forks
  • 0 Open issues
  • 3 Versions
  • 3 % Grown

The README.md

Symfony Hybrid XML Parser

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

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

<?php
    use Symfony\Component\DomCrawler\Crawler;

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

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

The Versions

19/09 2016

dev-master

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

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

  Sources   Download

public domain

The Requires

 

parser xml

19/09 2016

0.0.2

0.0.2.0 http://github.com/badlamer/hybrid-xml-parser

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

  Sources   Download

public domain

The Requires

 

parser xml

13/08 2014

0.0.1

0.0.1.0 http://github.com/badlamer/hybrid-xml-parser

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

  Sources   Download

public domain

The Requires

 

parser xml