La función XMLReader::moveToNextAttribute() es una función incorporada en PHP que se usa para mover el cursor al siguiente atributo si se coloca en un atributo o se mueve al primer atributo si se coloca en un elemento. Esta función también se puede utilizar para comprobar si los atributos están presentes en un elemento o no.
Sintaxis:
bool XMLReader::moveToNextAttribute( void )
Parámetros: Esta función no acepta ningún parámetro.
Valor de retorno: esta función devuelve VERDADERO en caso de éxito o FALSO en caso de error.
Los siguientes ejemplos ilustran la función XMLReader::moveToNextAttribute() en PHP:
Ejemplo 1:
- datos.xml
<?xml version=
"1.0"
encoding=
"utf-8"
?>
<div>
<h1> Foo Bar </h1>
</div>
- índice.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
->read();
// Checking if attribute is there or not
if
(
$XMLReader
->moveToNextAttribute()) {
echo
"Attribute is there"
;
}
else
{
echo
"No, attributes."
;
}
?>
- Producción:
No, attributes.
Ejemplo 2:
- datos.xml
<?xml version=
"1.0"
encoding=
"utf-8"
?>
<div>
<h1 attrib1=
"value1"
attrib2=
"value2"
attrib3=
"value"
>
Foo Bar
</h1>
</div>
- índice.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
->read();
// Move to first attribute
$XMLReader
->moveToFirstAttribute();
// Print name of element
echo
"Before:<br> We are currently "
.
"at: $XMLReader->name<br>"
;
// Move to next attribute
$XMLReader
->moveToNextAttribute();
// Print name of element
echo
"After:<br> We are currently "
.
"at: $XMLReader->name"
;
?>
- Producción:
Before: We are currently at: attrib1 After: We are currently at: attrib2
Referencia: https://www.php.net/manual/en/xmlreader.movetonextattribute.php