gacek85 / xml-stream
此包最新版本(1.0.0)没有提供许可信息。
大XML文件的事件驱动读取器
1.0.0
2016-10-27 08:51 UTC
Requires
- php: >=5.5.9
- filp/whoops: ~2.1
- symfony/event-dispatcher: ~3.1.4
Requires (Dev)
- fzaninotto/faker: ~1.6.0
- phpunit/phpunit: ~4.8.0
This package is not auto-updated.
Last update: 2024-09-18 20:42:10 UTC
README
XML Stream
-
处理大XML列表的简单库。
-
逐块解析XML文件,而不是将整个文件加载到内存中,并派发事件来通知找到的给定类型的节点。
-
主要组件是
Gacek85\XML\Stream
类,它封装了所有相关元素。
<?php use Gacek85\XML\Chunk\Provider as ChunkProvider; use Gacek85\XML\Node\Detector as NodeDetector; use Gacek85\XML\Node\Event\Event as NodeEvent; use Gacek85\XML\Node\Event\EventInterface; use Gacek85\XML\Node\Event\Feature\DOMElementProvider; use Gacek85\XML\Node\Event\Provider as EventProvider; use Gacek85\XML\Stream; use Symfony\Component\EventDispatcher\EventDispatcher; $eventProvider = (new EventProvider()) ->addFeatureProvider(new DOMElementProvider()); $stream = new Stream( new EventDispatcher(), new ChunkProvider('/path/to/file.xml', 1024), // 2nd param is chunk length new NodeDetector(), $eventProvider ); $stream ->getDispatcher() ->addListener(EventInterface::NAME, function (NodeEvent $ev) { // Do your stuff here }); $stream->read('listNodeName');