badlamer / symfony-hybrid-xml-parser
一个简单的类,用于以内存高效的方式解析大型XML文件
0.0.2
2016-09-19 20:10 UTC
Requires
- php: >=5.3.0
- ext-libxml: *
- symfony/css-selector: @stable
- symfony/dom-crawler: @stable
This package is not auto-updated.
Last update: 2024-09-20 21:12:05 UTC
README
一个类,用于在没有将文件加载到内存中的情况下解析大型XML文件。工作原理很简单:使用XMLReader遍历文件,对于每个感兴趣的XML元素,调用预先设置的处理器,该处理器将元素内容作为Symfony DomCrawler传递。
它看起来是这样的
<?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。