alexanderk23 / hybrid-xml-parser
一个简单的类,用于以内存高效的方式解析大型XML文件
dev-master
2018-02-04 07:57 UTC
Requires
- php: >=5.3.0
This package is not auto-updated.
Last update: 2024-09-19 14:10:34 UTC
README
一个类,用于在不将文件加载到内存的情况下解析大型XML文件。工作原理简单:使用XMLReader遍历文件,对于每个感兴趣的XML元素,调用预先设置的处理器,处理器接收SimpleXMLElement对象作为参数。
它看起来是这样的
<?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的对象作为处理器使用。