• PHP Video Tutorials

PHP - SimpleXMLIterator::rewind() 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::rewind() function moves the iterator to the starting element.

Syntax

SimpleXMLIterator::rewind(void);

Parameters

This function doesn’t accept any parameters.

Return Values

This function doesn’t return any values.

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::rewind() function.

<html>
   <head>
      <body>
         <?php
            $doc = new DOMDocument;
            $data = "<Data><Name>Krishna</Name><Age>30</Age></Data>";
            //Creating the SimpleXMLIterator
            $xmlIterator = new SimpleXMLIterator($data);
            //Rewinding the iterator
            $xmlIterator->rewind(); 
            print_r($xmlIterator->current());		
         ?>      
      </body>
   </head>   
</html> 

This will produce following result −

SimpleXMLIterator Object ( [0] => Krishna )

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 we are trying to print the elements of an XML file once and printing the first two elements again −

data.xml

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

Sample.xml:

<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());		
            echo "<br><br>";
            
            print_r($xmlIterator->next()); 
            print_r($xmlIterator->current());
            echo "<br><br>";
            
            print("Printing first two elements ... (again) <br><br>");
            $xmlIterator->rewind();
            print_r($xmlIterator->current()); 
            echo "<br><br>";
            
            print_r($xmlIterator->next()); 
            print_r($xmlIterator->current());
         ?>      
      </body>
   </head>   
</html> 

This will produce the following result −

SimpleXMLIterator Object ( [0] => JavaFX )
SimpleXMLIterator Object ( [0] => 535 )
SimpleXMLIterator Object ( [0] => Krishna )
SimpleXMLIterator Object ( [0] => 11 )
Printing first two elements ... (again)
SimpleXMLIterator Object ( [0] => JavaFX )
SimpleXMLIterator Object ( [0] => 535 )
php_function_reference.htm
Advertisements