@caterina Вы можете использовать XMLReader() объект для чтения больших XML файлов в PHP, ниже пример кода как пример:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
<?php $filepath = "/tmp/huge_file.xml"; $xml = new XMLReader(); // Открыть XML файл if ($xml->open($filepath)) { // Начать чтение большого XML файла while ($xml->read()) { if ($xml->nodeType == XMLReader::ELEMENT) { $nodeXml = $xml->readOuterXml(); $node = simplexml_load_string($nodeXml, SimpleXMLElement::class, LIBXML_NOBLANKS && LIBXML_NOWARNING); print_r($node); } } // Закрыть XML файл $xml->close(); } |
@caterina
В PHP есть несколько способов парсинга XML:
Для парсинга больших XML-документов рекомендуется использовать XMLReader или SimpleXML с опцией Libxml::PARSE_BIG_LINES.