Introduction to PHP XML Reader
One of the XML parsing techniques in PHP is XML Reader extension using which the XML parser can be created used to read the XML document and such parser in PHP is called pull parser or stream based XML parser and XML Reader in PHP can be used to retrieve a part of XML document based on the current node, attributes can be obtained based on name, namespace or index, elements can be parsed using attribute’s name, namespace or index, elements can be parsed without stepping into inner levels, current node’s value can be obtained, additional properties can be set to XML parser and the XML document can be validated.
Syntax:
The syntax to declare XML Reader in PHP is as follows:
XMLReader();
Working of XML Reader in PHP
Working of XML Reader in PHP is as follows:
- One of the XML parsing techniques in PHP is XML Reader extension using which the XML parser can be created used to read the XML document and such parser in PHP is called pull parser or stream based XML parser.
- XML Reader in PHP can be used to retrieve a part of XML document based on the current node.
- Attributes can be obtained based on name, namespace or index using XML Reader in PHP.
- Elements can be parsed using attribute’s name, namespace or index using XML Reader in PHP.
- Elements can be parsed without stepping into inner levels using XML Reader in PHP.
- Current node’s value can be obtained using XML Reader in PHP.
- Additional properties can be set to XML parser using XML Reader in PHP.
- The XML document can be validated using XML Reader in PHP.
Examples of PHP XML Reader
Following are the examples are given below:
Example #1
PHP program to parse an XML document and retrieve the contents of the XML document using XML Reader in PHP:
Code:
<?php
//creating an XML documents that is to be parsed using XML reader to retrieve the contents
$xmlDocument = '<?xml version="1.0"?>
<books>
<book ID="1">
<bookname>The Cobra</bookname>
<genre>Thriller</genre>
</book>
<book ID="2">
<bookname>The Killer</bookname>
<genre>Suspense</genre>
</book>
<book ID="3">
<bookname>The Popoye</bookname>
<genre>Comedy</genre>
</book>
</books>';
//declaring an instance of XML Reader
$xml = new XMLReader();
$xml->XML($xmlDocument);
//parsing the contents of the XML document and retrieving the required contents from the document
echo "The details of the books retrieved from the XML documents are:";
while( $xml->read() )
{
if($xml->name == "book")
{
print "Book ID:" . $xml->getAttribute("ID") . "<br/>";
print $xml->readInnerXML() . "<br/>";
$xml->next();
}
}
?>
Output:
In the above program, we are creating an XML document which is to be parsed to retrieve the contents from the document using an XML Reader. Then an instance of the XML Reader is created. Then the XML document is parsed using the XML Reader to retrieve the required contents from the XML document and display it as the output on the screen. The output is shown in the snapshot above.
Example #2
PHP program to parse an XML document and retrieve the contents of the XML document using XML Reader in PHP:
Code:
<?php
//creating an XML documents that is to be parsed using XML reader to retrieve the contents
$xmlDocument = '<?xml version="1.0"?>
<capital>
<country ID="1">
<countryname>India</countryname>
<capital>New Delhi</capital>
</country>
<country ID="2">
<countryname>Nepal</countryname>
<capital>Katmandu</capital>
</country>
<country ID="3">
<countryname>SriLanka</countryname>
<capital>Columbo</capital>
</country>
<country ID="4">
<countryname>Bangladesh</countryname>
<capital>Dhaka</capital>
</country>
<country ID="5">
<countryname>Pakisthan</countryname>
<capital>Islamabad</capital>
</country>
</capital>';
//declaring an instance of XML Reader
$xml = new XMLReader();
$xml->XML($xmlDocument);
//parsing the contents of the XML document and retrieving the required contents from the document
echo "The details of the capital cities retrieved from the XML document are:";
while( $xml->read() )
{
if($xml->name == "country")
{
print "Country code:" . $xml->getAttribute("ID") . "<br/>";
print $xml->readInnerXML() . "<br/>";
$xml->next();
}
}
?>
Output:
In the above program, we are creating an XML document which is to be parsed to retrieve the contents from the document using an XML Reader. Then an instance of the XML Reader is created. Then the XML document is parsed using the XML Reader to retrieve the required contents from the XML document and display it as the output on the screen. The output is shown in the snapshot above.
Example #3
PHP program to parse an XML document and retrieve the contents of the XML document using XML Reader in PHP:
Code:
<?php
//creating an XML documents that is to be parsed using XML reader to retrieve the contents
$xmlDocument = '<?xml version="1.0"?>
<socialnetworking>
<website ID="1">
<websitename>Facebook</websitename>
<address>www.facebook.com</address>
</website>
<website ID="2">
<websitename>Instagram</websitename>
<address>www.instagram.com</address>
</website>
<website ID="3">
<websitename>Twitter</websitename>
<address>www.twitter.com</address>
</website>
<website ID="4">
<websitename>Youtube</websitename>
<address>www.youtube.com</address>
</website>
<website ID="5">
<websitename>Orkut</websitename>
<address>www.orkut.com</address>
</website>
</socialnetworking>';
//declaring an instance of XML Reader
$xml = new XMLReader();
$xml->XML($xmlDocument);
//parsing the contents of the XML document and retrieving the required contents from the document
echo "The details of the social networking sites retrieved from the XML document are:";
while( $xml->read() )
{
if($xml->name == "webiste")
{
print "Webiste address:" . $xml->getAttribute("address") . "<br/>";
print $xml->readInnerXML() . "<br/>";
$xml->next();
}
}
?>
Output:
In the above program, we are creating an XML document which is to be parsed to retrieve the contents from the document using an XML Reader. Then an instance of the XML Reader is created. Then the XML document is parsed using the XML Reader to retrieve the required contents from the XML document and display it as the output on the screen. The output is shown in the snapshot above.
Conclusion
In this article, we have learnt the concept of XML Reader in PHP to parse the contents of an XML document and retrieve them, through definition, syntax and working of XML Reader in PHP through programming examples and their outputs.
Recommended Articles
This is a guide to PHP XML Reader. Here we also discuss the introduction and working of xml reader in php along with different examples and its code implementation. You may also have a look at the following articles to learn more –