La función XMLReader::moveToFirstAttribute() es una función incorporada en PHP que se usa para colocar el cursor en el primer atributo del elemento. Esta función es útil cuando tenemos varios atributos para un elemento y queremos obtener el primero o cuando queremos verificar si un elemento tiene atributos o no.
Sintaxis:
bool XMLReader::moveToFirstAttribute( 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::moveToFirstAttribute() 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
->moveToFirstAttribute()) {
echo
"Attribute is there"
;
}
else
{
echo
"No, attributes."
;
}
?>
- Producción:
No, attributes.
Programa 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 attribute with name attrib3
$XMLReader
->moveToAttribute(
"attrib3"
);
// Print name of element
echo
"Before:<br> We are currently "
.
"at: $XMLReader->name<br>"
;
// Move to first attribute
$XMLReader
->moveToFirstAttribute();
// Print name of element
echo
"After:<br> We are currently "
.
"at: $XMLReader->name"
;
?>
- Producción:
Before: We are currently at: attrib3 After: We are currently at: attrib1
Referencia: https://www.php.net/manual/en/xmlreader.movetofirstattribute.php