boobooking/simplexmlreader

XMLReader类包装器,用于对大型(测试超过1G文件)xml进行简单的SAX读取(和简单的XPath查询)。

dev-master 2024-05-07 20:37 UTC

This package is not auto-updated.

Last update: 2024-09-25 20:37:43 UTC


README

XMLReader包装类(https://php.ac.cn/manual/ru/book.xmlreader.php),用于对大型(测试超过1G文件)xml进行简单的SAX读取(和简单的XPath查询)。

其他xml库(SimpleXML、DOMXML)的最低内存使用量。

使用示例1

$reader = new SimpleXMLReader;
$reader->open("big.xml");
$reader->registerCallback("by-node-name", function($reader) {
    $element = $reader->expandSimpleXml(); // copy of the current node as a SimpleXMLElement object
    $attributes = $element->attributes(); // read element attributes
    /* ...your code here... */
    return true;
});
$reader->registerCallback("/by/xpath/query", function($reader) {
    $element = $reader->expandDomDocument(); // copy of the current node as a DOMNode object
    $attributes = $element->attributes(); // read element attributes
    /* ...your code here... */
    return true;
});
$reader->parse();
$reader->close();

使用示例2: http://github.com/dkrnl/SimpleXMLReader/blob/master/examples/example1.php

许可证:公共领域