In PHP, the XML Reader extension provides a technique for parsing XML called the XML Reader. This pull-parser or stream-based XML parser allows for creating an XML parser that can read and retrieve specific parts of an XML document. The XML Reader enables various operations such as retrieving attributes based on their name, namespace, or index, parsing elements using attribute names, namespaces, or indices, parsing elements without navigating to inner levels, obtaining the value of the current node, setting additional properties to the XML parser, and validating the XML document.
ADVERTISEMENT Popular Course in this category XML - Specialization | 11 Course SeriesStart Your Free Software Development Course
Web development, programming languages, Software testing & others
Syntax:
The syntax to declare XML Reader is as follows:
XMLReader();
Working of XML Reader is as follows:
Following are the examples are given below:
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:
The program’s objective is to parse an XML document using an XML Reader to extract and retrieve specific content. The initial step involves creating an instance of the XML Reader, which will handle the reading and parsing of the XML document. Subsequently, the XML document is supplied to the XML Reader for parsing. The XML Reader then traverses through the document, providing access to various elements and attributes.
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:
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 this article, we have learned the concept of XML Reader 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.
The above is the detailed content of PHP XML Reader. For more information, please follow other related articles on the PHP Chinese website!