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="neveropen"> 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:
neveropen
Reference: https://www.php.net/manual/en/xmlreader.movetoattributeno.php
