• PHP Video Tutorials

PHP - XMLReader::open() 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. XMLReader extension is used to read/retrieve the contents of an XML document i.e. using the methods of the XMLReader class you can read each node of an XML document.

The XMLReader::open() function of the XMLReader class accepts a string value representing the absolute path of the XML document, whose contents are to be read.

Syntax

XMLReader::open ($URI [$encoding, $options]);

Parameters

Sr.No Parameter & Description
1

URI(Mandatory)

This is a string value representing the path of the XML document.

2

encoding(Mandatory)

This is a string value representing the encoding or Null.

3

options(Optional)

This is an integer value representing the bitmask.

Return Values

This function returns a boolean value which is TRUE in case of success and FALSE in case of failure. When you call this function statically, it returns an XMLReader object incase of success and FALSE on 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 XMLReader::open() function −

data.xml

<Data>
   <Employee>
      <Name>Krishna</Name>
      <Age>22</Age>
      <City>Hyderabad</City>   
   </Employee>

   <Employee>
      <Name>Raju</Name>
      <Age>30</Age>
      <City>Delhi</City>
   </Employee>
</Data>

sample.php

<?php
   //Creating an XMLReader
   $reader = new XMLReader();

   //Opening a reader
   $reader->open("data.xml");

   //reading the contents of the XML file
   while($reader->next()){
      print($reader->readString());
   }
   
   //Closing the reader
   $reader->close();
?>

This will produce following result −

Krishna
22
Hyderabad

Raju
30
Delhi

Example

Following is another example of this function −

mydata.xml

<?xml version="1.0" encoding="utf-8"?>
<Tutorials>
   <Tutorial>
      <Name>JavaFX</Name>
      <Pages>535</Pages>
      <Author>Krishna</Author>
      <Version>11</Version>
   </Tutorial>

   <Tutorial>
      <Name>CoffeeScript</Name>
      <Pages>235</Pages>
      <Author>Kasyap</Author>
      <Version>2.5.1</Version>
   </Tutorial>
</Tutorials>

sample.php

<?php
   //Creating an XMLReader
   $reader = new XMLReader();

   //Opening a reader
   $reader->open("mydata.xml");

   //Reading the contents
   $reader->read();

   $data = $reader->readInnerXml();
   print($data);

   //Closing the reader
   $reader->close();
?>

This will produce following result −

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

<Tutorial>
   <Name>CoffeeScript</Name>
   <Pages>235</Pages>
   <Author>Kasyap</Author>
   <Version>2.5.1</Version>
</Tutorial>

Example

Following is an example of this function with optional parameters −

mydata.xml

<?xml version="1.0" encoding="utf-8"?>
<Tutorials>
   <Tutorial>
      <Name>JavaFX</Name>
      <Pages>535</Pages>
      <Author>Krishna</Author>
      <Version>11</Version>
   </Tutorial>

   <Tutorial>
      <Name>CoffeeScript</Name>
      <Pages>235</Pages>
      <Author>Kasyap</Author>
      <Version>2.5.1</Version>
   </Tutorial>
</Tutorials>

sample.php

<?php
   //Creating an XMLReader
   $reader = new XMLReader();

   //Opening a reader
   $reader->open("mydata.xml", "UTF-8");

   //Reading the contents
   $reader->read();

   $data = $reader->expand();
   print_r($data);

   //Closing the reader
   $reader->close();
?>

This will produce following result −

DOMElement Object (
   [tagName] => Tutorials
   [schemaTypeInfo] =>
   [nodeName] => Tutorials
   [nodeValue] =>

   JavaFX
   535
   Krishna
   11

   CoffeeScript
   235
   Kasyap
   2.5.1

   [nodeType] => 1
   [parentNode] =>
   [childNodes] => (object value omitted)
   [firstChild] => (object value omitted)
   [lastChild] => (object value omitted)
   [previousSibling] =>
   [nextSibling] =>
   [attributes] => (object value omitted)
   [namespaceURI] =>
   [prefix] =>
   [localName] => Tutorials
   [baseURI] =>
   [textContent] =>

   JavaFX
   535
   Krishna
   11

   CoffeeScript
   235
   Kasyap
   2.5.1
)
php_function_reference.htm
Advertisements