• PHP Video Tutorials

PHP - SimpleXMLIterator::current() Function



Definition and Usage

XML is a mark-up language to share the data across the web, XML is for both human read-able and machine read-able. The SimpleXMLIterator is used to iterate all the nodes of an XML document.

The SimpleXMLIterator::current() function returns current element of the iterator as an object of the SimpleXMLElement class.

Syntax

SimpleXMLIterator::current(void);

Parameters

This function doesn’t accept any parameters.

Return Values

This function returns an object of the SimpleXMLElement class representing the current element of the iterator in case of success and, returns NULL in case of failure.

PHP Version

This function was first introduced in PHP Version 5 and works in all the later versions.

Example

Following example demonstrates the usage of the SimpleXMLIterator::current() function.

<html>
   <head>
      <body>
         <?php
            $doc = new DOMDocument;
            $data = "<?xml version = '1.0' encoding = 'UTF-8'?>
            <Employee>
               <Name>Raju</Name>
               <Age>25</Age>
               <Salary>2000</Salary>
            </Employee>";
            //Creating the SimpleXMLIterator
            $xmlIterator = new SimpleXMLIterator($data);
            $res = current($xmlIterator);
            print_r($res);
         ?>      
      </body>
   </head>   
</html>

This will produce following result −

Raju

Example

In the following example we are trying to retrieve all the elements of an XML file using the current() and next() functions −

<html>
   <head>
      <body>
         <?php
            $doc = new DOMDocument;
            $data = "<?xml version = '1.0' encoding = 'UTF-8'?>
            <Employee>
               <Name>Raju</Name>
               <Age>25</Age>
               <Salary>2000</Salary>
            </Employee>";
            
            //Creating the SimpleXMLIterator
            $xmlIterator = new SimpleXMLIterator($data);
            $xmlIterator->rewind(); 
            print_r($xmlIterator->current()); 
            echo "<br><br>";
            print_r($xmlIterator->next()); 
            print_r($xmlIterator->current());	
            echo "<br><br>";
            print_r($xmlIterator->next()); 
            print_r($xmlIterator->current());		
         ?>      
      </body>
   </head>   
</html> 

This will produce the following output −

SimpleXMLIterator Object ( [0] => Raju )
SimpleXMLIterator Object ( [0] => 25 )
SimpleXMLIterator Object ( [0] => 2000 )

Example

In the following example we are trying to display the contents of an XML file using the current() and next() functions −

Data.xml:

<Tutorial>
   <Name>JavaFX</Name>
   <Pages>535</Pages>
   <Author>Krishna</Author>
   <Version>11</Version>
</Tutorial>

sample.html

<html>
   <head>
      <body>
         <?php
            $doc = new DOMDocument;
            //Creating the SimpleXMLIterator
            $xmlIterator = new SimpleXMLIterator("data.xml", 0, TRUE, "", FALSE);
            $xmlIterator->rewind(); 
            print_r($xmlIterator->current()); 
            echo "<br><br>";
            print_r($xmlIterator->next()); 
            print_r($xmlIterator->current());	
            echo "<br><br>";
            print_r($xmlIterator->next()); 
            print_r($xmlIterator->current());		
         ?>      
      </body>
   </head>   
</html> 

This will produce following result −

SimpleXMLIterator Object ( [0] => JavaFX )
SimpleXMLIterator Object ( [0] => 535 )
SimpleXMLIterator Object ( [0] => Krishna )
php_function_reference.htm
Advertisements