Я думаю, что вам нужно сначала загрузить файл: посмотрите руководство PHP для записи о загрузке файлов XML Здесь
Затем, как только вы загрузите документ в память, я вам верюиспользуйте объект «XMLReader» для обхода узлов и увеличивайте независимую переменную счетчика по мере продвижения.
Я полагаю, В этой статье обсуждается операция чтения и продвижения к следующему узлу.Несмотря на то, что вы читаете комментарии в нижней части этой статьи, если у вас очень большой XML-файл, вам может не хватить памяти.Позаботьтесь, чтобы вы не пытались разобрать файл размером 1 Тб или что-то в этом роде ... :)
Удачи!
H
Редактировать: Похоже, вы можете использоватьОбъект XMLReader для открытия файла, который вы хотите прочитать, а также для целей этой публикации, вы можете использовать XMLReader-> next ();
Простой пример кода может выглядеть следующим образом:
$nodeCount = 1;
$xr = XMLReader::open("myxmlfile.xml"); //Called staticly, returns an XMLReader object or false!
if(xr != false) // Check to see if its a valid object
{
while($xr->next() == true) //Iterate through all the nodes
{
$nodeCount++; //increment an accumulator
}
}
echo "$nodeCount nodes were found!";