La función XMLReader::next() es una función incorporada en PHP que se usa para mover el cursor al siguiente Node saltándose todos los subárboles. Otro uso de esta función es que acepta el nombre del Node para moverse directamente al elemento.
Sintaxis:
bool XMLReader::next( string $localname )
Parámetros: esta función acepta un único parámetro $localname que contiene el nombre del siguiente Node al que moverse.
Valor de retorno: esta función devuelve VERDADERO en caso de éxito o FALSO en caso de error.
Los siguientes programas ilustran la función XMLReader::next() en PHP:
Programa 1: En este programa, recorreremos el árbol XML.
Nombre de archivo: datos.xml
html
<?xml version="1.0" encoding="utf-8"?> <div1> <h1> Foo Bar </h1> <div2> <h1> Foo Bar </h1> </div2> </div1>
Nombre de archivo: index.php
php
<?php // Create a new XMLReader instance $XMLReader = new XMLReader(); // Open the XML file $XMLReader->open('data.xml'); // Iterate through the XML nodes // to reach the h1 node $XMLReader->read(); $XMLReader->read(); $XMLReader->next(); // Print name of element echo "Before:<br> We are currently" . " at: $XMLReader->name<br>"; // Move to next node which is // text "Foo Bar" $XMLReader->next(); // Move to next element // which is div2 $XMLReader->next(); // Print name of element echo "After:<br> We are currently" . " at: $XMLReader->name"; ?>
Salida:
Antes:
We are currently at: h1
Después:
We are currently at: div2
Programa 2: En este programa, nos moveremos a un Node específico en el árbol XML.
Nombre de archivo: datos.xml
html
<?xml version="1.0" encoding="utf-8"?> <div1> <h1> Foo Bar </h1> <div2> <h1> Foo Bar </h1> </div2> <div3> Hello </div3> </div1>
Nombre de archivo: index.php
php
<?php // Create a new XMLReader instance $XMLReader = new XMLReader(); // Open the XML file $XMLReader->open('data.xml'); // Iterate through the XML nodes to // reach the subtrees of div1 $XMLReader->read(); $XMLReader->read(); $XMLReader->next("div2"); // Print name of element echo "Before:<br> We are currently" . "at: $XMLReader->name<br>"; // Move to next node which is // text "Foo Bar" $XMLReader->next(); // Move to next element which is div2 $XMLReader->next(); // Print name of element echo "After:<br> We are currently" . " at: $XMLReader->name"; ?>
Salida:
Antes:
We are currently at: div2
Después:
We are currently at: div3
Referencia: https://www.php.net/manual/en/xmlreader.next.php