PHP | XMLReader moveToAttributeNo() Function

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



