elecena / xml-iterator
内存高效且快速的具有迭代器接口的XML解析器
0.3.0
2024-01-15 13:21 UTC
Requires
- php: ^8.1
- ext-xml: *
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.22
- phpunit/phpunit: ^10.3
This package is auto-updated.
Last update: 2024-09-04 20:38:22 UTC
README
具有迭代器接口的内存高效且快速的XML解析器。
使用示例
获取远程XML站点地图文件中的子站点地图列表。
use Elecena\XmlIterator\XMLParser; use Elecena\XmlIterator\Nodes\XMLNodeOpen; use Elecena\XmlIterator\Nodes\XMLNodeContent; require 'vendor/autoload.php'; $stream = fopen('https://elecena.pl/sitemap.xml', mode: 'rt'); foreach(new XMLParser($stream) as $node) { if ($node instanceof XMLNodeContent && $node->name === 'loc') { echo "Sub-sitemap found: {$node->content}\n"; } elseif ($node instanceof XMLNodeOpen && $node->name === 'sitemapindex') { echo "Sitemap index node found, attributes: " . print_r($node->attributes, return: true) . "\n"; } } fclose($stream);
以上将返回
Sitemap index node found: Array
(
[xmlns] => http://www.sitemaps.org/schemas/sitemap/0.9
)
Sub-sitemap found: https://elecena.pl/sitemap-001-search.xml.gz
Sub-sitemap found: https://elecena.pl/sitemap-002-shops.xml.gz
Sub-sitemap found: https://elecena.pl/sitemap-003-pages.xml.gz
Sub-sitemap found: https://elecena.pl/sitemap-004-datasheets.xml.gz
Sub-sitemap found: https://elecena.pl/sitemap-005-datasheets.xml.gz
Sub-sitemap found: https://elecena.pl/sitemap-006-datasheets.xml.gz
(...)