The XMLReader::moveToAttributeNo() function is an inbuilt function in PHP which is used to move cursor to an attribute by index. This function is useful when a node is having multiple attributes but we want only specific attributes only.
Syntax:
bool XMLReader::moveToAttributeNo( int $index )
Parameters: This function accepts a single parameter $index which holds the position of the attribute.
Return Value: This function returns TRUE on success or FALSE on failure.
Below given programs illustrate the XMLReader::moveToAttributeNo() function in PHP:
Program 1: In this program, we will get value of second attribute of a specific node.
Filename: data.xml
<? xml version = "1.0" encoding = "utf-8" ?>
< div >
< h1 att1 = "first" attr2 = "second" > Text </ h1 >
</ div >
|
Filename: index.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 second attribute // of current node $XMLReader ->moveToAttributeNo(1);
// Output the value to browser echo $XMLReader ->value;
?> |
Output:
second
Program 2: In this program, we will get the value of the first attribute of all the nodes.
Filename: data.xml
<? xml version = "1.0" encoding = "utf-8" ?>
< div >
< h1 attribute = "geeksforgeeks" > Text </ h1 >
</ div >
|
Filename: index.php
<?php // Create a new XMLReader instance $XMLReader = new XMLReader();
// Open the XML file $XMLReader ->open( 'data.xml' );
// Iterate through the XML nodes while ( $XMLReader ->read()) {
if ( $XMLReader ->nodeType == XMLREADER::ELEMENT) {
// Move to first attribute
$XMLReader ->moveToAttributeNo(0);
// Output the value to browser
echo $XMLReader ->value;
}
} ?> |
Output:
geeksforgeeks
Reference: https://www.php.net/manual/en/xmlreader.movetoattributeno.php